37 #include <QTextDocument>
38 #include <QPushButton>
39 #include <QTextStream>
44 #include <QFileSystemWatcher>
53 mTextDocument(new QTextDocument(this)),
54 mTextEdit(new QTextEdit(this)),
55 mSaveButton(new QPushButton(
"Save", this))
57 mSyntaxHighlighter = NULL;
58 connect(mSaveButton, SIGNAL(clicked()),
this, SLOT(
saveSlot()));
59 mSaveButton->setEnabled(
false);
61 QHBoxLayout* buttonLayout =
new QHBoxLayout();
62 buttonLayout->addStretch();
63 buttonLayout->setMargin(0);
64 buttonLayout->addWidget(mSaveButton);
66 QVBoxLayout* layout =
new QVBoxLayout(
this);
68 layout->addWidget(mTextEdit);
69 layout->addLayout(buttonLayout);
71 connect(mTextEdit, SIGNAL(textChanged()),
this, SLOT(
textChangedSlot()));
72 mTextEdit->setDocument(mTextDocument);
73 mTextEdit->setLineWrapMode(QTextEdit::NoWrap);
75 this->setSyntaxHighLighter<snw::SyntaxHighlighter>();
84 "<h3>File preview.</h3>"
85 "<p>Lets you preview and edit a file.</p>"
86 "<p><i>Click save to keep your changes.</i></p>"
92 mSaveButton->setEnabled(mTextDocument->isModified());
97 mSaveButton->setEnabled(
false);
103 QString text = stream.readAll();
106 mTextDocument->setPlainText(text);
107 mTextDocument->setModified(
false);
117 if(!
mCurrentFile->open(QIODevice::WriteOnly | QIODevice::Truncate))
123 mCurrentFile->write(mTextDocument->toPlainText().toLatin1());
126 mTextDocument->setModified(
false);
void reportWarning(QString msg)