4 #include <QTextCharFormat>
9 #include <QApplication>
11 #include "kumushedit.h"
13 KumushEdit::KumushEdit(QWidget *parent) :
16 QVBoxLayout *layout = new QVBoxLayout;
18 layout->addWidget(mTextEdit);
20 layout->addWidget(mVKB);
21 layout->setSizeConstraint(QLayout::SetMaximumSize);
22 layout->setSpacing(0);
23 this->setLayout(layout);
24 connect(mVKB, SIGNAL(VKBButtonClicked(QString)), this, SLOT(VKBButtonClicked(QString)));
25 connect(mVKB, SIGNAL(openButtonClicked()), this, SLOT(openButtonClicked()));
26 connect(mVKB, SIGNAL(saveButtonClicked()), this, SLOT(saveButtonClicked()));
27 connect(mVKB, SIGNAL(copyButtonClicked()), this, SLOT(copyButtonClicked()));
28 connect(mVKB, SIGNAL(pasteButtonClicked()), this, SLOT(pasteButtonClicked()));
29 connect(mVKB, SIGNAL(fwButtonClicked()), this, SLOT(fwButtonClicked()));
30 connect(mVKB, SIGNAL(bwButtonClicked()), this, SLOT(bwButtonClicked()));
31 connect(mVKB, SIGNAL(bspaceButtonClicked()), this, SLOT(bspaceButtonClicked()));
34 KumushEdit::~KumushEdit()
38 void KumushEdit::createTextEdit()
40 mTextEdit = new QTextEdit;
43 void KumushEdit::createVKB()
48 void KumushEdit::VKBButtonClicked(QString value)
50 QTextCursor cursor = mTextEdit->textCursor();
51 QTextCharFormat textFormat = cursor.charFormat();
52 textFormat.setFontFamily("UyghurEdit Riwaj");
53 cursor.insertText(value, textFormat);
54 mTextEdit->setFocus();
55 mTextEdit->ensureCursorVisible();
58 void KumushEdit::openButtonClicked()
60 fileName = QFileDialog::getOpenFileName(this, "Hojjetni Tallang", NULL, "Tekist Hojjetliri (*.txt)");
61 QFile file(fileName, this);
62 if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
65 QTextCursor cursor = mTextEdit->textCursor();
66 QTextCharFormat textFormat = cursor.charFormat();
67 textFormat.setFontFamily("UyghurEdit Riwaj");
68 QTextStream in(&file);
70 QString line = in.readLine() + "\n";
71 cursor.insertText(line, textFormat);
74 mTextEdit->setFocus();
77 void KumushEdit::saveButtonClicked()
79 fileName = QFileDialog::getSaveFileName(this, "Hojjetni Saqlang", fileName, "Tekist Hojjetliri (*.txt)");
80 QFile file(fileName, this);
81 if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
83 QTextStream out(&file);
84 qDebug()<<mTextEdit->toPlainText();
85 out<<mTextEdit->toPlainText();
87 mTextEdit->setFocus();
90 void KumushEdit::copyButtonClicked()
92 QClipboard *clipboard = QApplication::clipboard();
93 qDebug()<<mTextEdit->toPlainText();
94 clipboard->setText(mTextEdit->toPlainText());
95 qDebug()<<clipboard->text();
96 mTextEdit->setFocus();
99 void KumushEdit::pasteButtonClicked()
101 QClipboard *clipboard = QApplication::clipboard();
102 QString text = clipboard->text();
103 QTextCursor cursor = mTextEdit->textCursor();
104 QTextCharFormat textFormat = cursor.charFormat();
105 textFormat.setFontFamily("UyghurEdit Riwaj");
106 cursor.insertText(text, textFormat);
107 mTextEdit->setFocus();
108 mTextEdit->ensureCursorVisible();
111 void KumushEdit::fwButtonClicked()
113 QTextCursor cursor = mTextEdit->textCursor();
114 cursor.setPosition(cursor.position()+1);
115 mTextEdit->setTextCursor(cursor);
116 mTextEdit->setFocus();
117 mTextEdit->ensureCursorVisible();
120 void KumushEdit::bwButtonClicked()
122 QTextCursor cursor = mTextEdit->textCursor();
123 cursor.setPosition(cursor.position()-1);
124 mTextEdit->setTextCursor(cursor);
125 mTextEdit->setFocus();
126 mTextEdit->ensureCursorVisible();
129 void KumushEdit::bspaceButtonClicked()
131 mTextEdit->textCursor().deletePreviousChar();
132 mTextEdit->setFocus();
133 mTextEdit->ensureCursorVisible();