#include "NoteEditor.h" #include "Instructions.h" #include #include #include #include #include #include #include #include #include NoteEditor::NoteEditor(const QString &title, QWidget *parent) : QMainWindow(parent) { setWindowTitle(tr("Author - Note Editor")); setUnifiedTitleAndToolBarOnMac(true); m_editor = new QTextEdit; m_editor->setFontFamily("CMU Typewriter Text Variable Width"); m_editor->setText("

" + title + "

" + tr("notes...") + "

"); setCentralWidget(m_editor); QDockWidget *sideInstructions = new QDockWidget(tr("Instructions")); sideInstructions->setWidget(new Instructions(1, false)); addDockWidget(Qt::RightDockWidgetArea, sideInstructions); QToolBar *toolbar = new QToolBar(tr("Editing")); toolbar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); addToolBar(Qt::TopToolBarArea, toolbar); connect(toolbar->addAction(QIcon(QLatin1String(":/journal.png")), tr("Begin Writing")), SIGNAL(triggered()), this, SIGNAL(finished())); } QString NoteEditor::html() const { return m_editor->toHtml(); } void NoteEditor::closeEvent(QCloseEvent *event) { if (QMessageBox::question(this, tr("Quit?"), tr("You are still writing. Are you sure you'd like to quit?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::No) == QMessageBox::Yes) QApplication::quit(); else event->ignore(); } QSize NoteEditor::sizeHint() const { return QSize(900, 900); } void NoteEditor::saveState(const QString &key) const { QSettings s; s.setValue(key.arg(QLatin1String("html")), m_editor->toHtml()); } void NoteEditor::restoreState(const QString &key) { QSettings s; m_editor->setHtml(s.value(key.arg(QLatin1String("html"))).toString()); } void NoteEditor::finish() { emit finished(); }