summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2021-05-10 11:47:31 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2021-05-18 20:57:25 +0200
commit902a4d63a1712258655b509d57ce4b7ece8b3961 (patch)
tree0b844a577974e4c86f233c11e782c0d1566f40e2 /examples
parent43ba45151a8769860c62c9dc5515910d94411bf9 (diff)
Small fix to the notepad example
- Remove misleading note about setCentralWidget() - Connect copy/paste and undo/redo directly to the QTextEdit instead of routing them via window - Add the missing "About" menu - Check for reject of QFileDialog Change-Id: Ia7457fbedd762028bf2bcde99dfcfb50bbc97f1d Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Diffstat (limited to 'examples')
-rw-r--r--examples/widgets/tutorials/gettingstartedqt.qdoc7
-rw-r--r--examples/widgets/tutorials/notepad/notepad.cpp68
-rw-r--r--examples/widgets/tutorials/notepad/notepad.h12
-rw-r--r--examples/widgets/tutorials/notepad/notepad.ui9
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">