diff options
Diffstat (limited to 'examples/widgets')
-rw-r--r-- | examples/widgets/tutorials/gettingstartedqt.qdoc | 7 | ||||
-rw-r--r-- | examples/widgets/tutorials/notepad/notepad.cpp | 68 | ||||
-rw-r--r-- | examples/widgets/tutorials/notepad/notepad.h | 12 | ||||
-rw-r--r-- | examples/widgets/tutorials/notepad/notepad.ui | 9 |
4 files changed, 28 insertions, 68 deletions
diff --git a/examples/widgets/tutorials/gettingstartedqt.qdoc b/examples/widgets/tutorials/gettingstartedqt.qdoc index 32e8845c05..2edc1f07f1 100644 --- a/examples/widgets/tutorials/gettingstartedqt.qdoc +++ b/examples/widgets/tutorials/gettingstartedqt.qdoc @@ -320,13 +320,6 @@ \skipto Notepad::~Notepad \printuntil } - In order to have the text edit field occupy the whole screen, we add - \c setCentralWidget to the main window. - - \quotefromfile tutorials/notepad/notepad.cpp - \skipto Notepad::Notepad(QWidget *parent) - \printuntil } - \section2 Project File The wizard generates the following project file, \c {notepad.pro}, for diff --git a/examples/widgets/tutorials/notepad/notepad.cpp b/examples/widgets/tutorials/notepad/notepad.cpp index 5fd0d69cea..c2491b6030 100644 --- a/examples/widgets/tutorials/notepad/notepad.cpp +++ b/examples/widgets/tutorials/notepad/notepad.cpp @@ -72,19 +72,24 @@ Notepad::Notepad(QWidget *parent) : ui(new Ui::Notepad) { ui->setupUi(this); - this->setCentralWidget(ui->textEdit); connect(ui->actionNew, &QAction::triggered, this, &Notepad::newDocument); connect(ui->actionOpen, &QAction::triggered, this, &Notepad::open); connect(ui->actionSave, &QAction::triggered, this, &Notepad::save); connect(ui->actionSave_as, &QAction::triggered, this, &Notepad::saveAs); connect(ui->actionPrint, &QAction::triggered, this, &Notepad::print); - connect(ui->actionExit, &QAction::triggered, this, &Notepad::exit); - connect(ui->actionCopy, &QAction::triggered, this, &Notepad::copy); - connect(ui->actionCut, &QAction::triggered, this, &Notepad::cut); - connect(ui->actionPaste, &QAction::triggered, this, &Notepad::paste); - connect(ui->actionUndo, &QAction::triggered, this, &Notepad::undo); - connect(ui->actionRedo, &QAction::triggered, this, &Notepad::redo); + connect(ui->actionExit, &QAction::triggered, this, &QWidget::close); +#if QT_CONFIG(clipboard) + connect(ui->textEdit, &QTextEdit::copyAvailable, ui->actionCopy, &QAction::setEnabled); + connect(ui->actionCopy, &QAction::triggered, ui->textEdit, &QTextEdit::copy); + connect(ui->actionCut, &QAction::triggered, ui->textEdit, &QTextEdit::cut); + connect(ui->actionPaste, &QAction::triggered, ui->textEdit, &QTextEdit::paste); +#endif + connect(ui->textEdit, &QTextEdit::undoAvailable, ui->actionUndo, &QAction::setEnabled); + connect(ui->actionUndo, &QAction::triggered, ui->textEdit, &QTextEdit::undo); + connect(ui->textEdit, &QTextEdit::redoAvailable, ui->actionRedo, &QAction::setEnabled); + connect(ui->actionRedo, &QAction::triggered, ui->textEdit, &QTextEdit::redo); + connect(ui->actionFont, &QAction::triggered, this, &Notepad::selectFont); connect(ui->actionBold, &QAction::triggered, this, &Notepad::setFontBold); connect(ui->actionUnderline, &QAction::triggered, this, &Notepad::setFontUnderline); @@ -117,6 +122,8 @@ void Notepad::newDocument() void Notepad::open() { QString fileName = QFileDialog::getOpenFileName(this, "Open the file"); + if (fileName.isEmpty()) + return; QFile file(fileName); currentFile = fileName; if (!file.open(QIODevice::ReadOnly | QFile::Text)) { @@ -136,6 +143,8 @@ void Notepad::save() // If we don't have a filename from before, get one. if (currentFile.isEmpty()) { fileName = QFileDialog::getSaveFileName(this, "Save"); + if (fileName.isEmpty()) + return; currentFile = fileName; } else { fileName = currentFile; @@ -155,6 +164,8 @@ void Notepad::save() void Notepad::saveAs() { QString fileName = QFileDialog::getSaveFileName(this, "Save as"); + if (fileName.isEmpty()) + return; QFile file(fileName); if (!file.open(QFile::WriteOnly | QFile::Text)) { @@ -182,42 +193,6 @@ void Notepad::print() #endif // QT_CONFIG(printer) } -void Notepad::exit() -{ - QCoreApplication::quit(); -} - -void Notepad::copy() -{ -#if QT_CONFIG(clipboard) - ui->textEdit->copy(); -#endif -} - -void Notepad::cut() -{ -#if QT_CONFIG(clipboard) - ui->textEdit->cut(); -#endif -} - -void Notepad::paste() -{ -#if QT_CONFIG(clipboard) - ui->textEdit->paste(); -#endif -} - -void Notepad::undo() -{ - ui->textEdit->undo(); -} - -void Notepad::redo() -{ - ui->textEdit->redo(); -} - void Notepad::selectFont() { bool fontSelected; @@ -244,8 +219,7 @@ void Notepad::setFontBold(bool bold) void Notepad::about() { - QMessageBox::about(this, tr("About MDI"), - tr("The <b>Notepad</b> example demonstrates how to code a basic " - "text editor using QtWidgets")); - + QMessageBox::about(this, tr("About Notepad"), + tr("The <b>Notepad</b> example demonstrates how to code a basic " + "text editor using QtWidgets")); } diff --git a/examples/widgets/tutorials/notepad/notepad.h b/examples/widgets/tutorials/notepad/notepad.h index 5e44dfeedc..d4209daf6d 100644 --- a/examples/widgets/tutorials/notepad/notepad.h +++ b/examples/widgets/tutorials/notepad/notepad.h @@ -89,18 +89,6 @@ private slots: void print(); - void exit(); - - void copy(); - - void cut(); - - void paste(); - - void undo(); - - void redo(); - void selectFont(); void setFontBold(bool bold); diff --git a/examples/widgets/tutorials/notepad/notepad.ui b/examples/widgets/tutorials/notepad/notepad.ui index 4b2a6a0675..b891dbae46 100644 --- a/examples/widgets/tutorials/notepad/notepad.ui +++ b/examples/widgets/tutorials/notepad/notepad.ui @@ -53,8 +53,15 @@ <addaction name="actionRedo"/> <addaction name="actionFont"/> </widget> + <widget class="QMenu" name="menuAbout"> + <property name="title"> + <string>About</string> + </property> + <addaction name="actionAbout"/> + </widget> <addaction name="menuFile"/> <addaction name="menuEdit"/> + <addaction name="menuAbout"/> </widget> <widget class="QToolBar" name="mainToolBar"> <attribute name="toolBarArea"> @@ -171,8 +178,6 @@ <property name="toolTip"> <string>Exit notepad</string> </property> - <property name="shortcut"> - </property> </action> <action name="actionCopy"> <property name="icon"> |