Notepad example: Get rid of auto-connection slots

Their correctness is not checked at compile time and even object
renames can break code.

Change-Id: I99273a28743a79a76c00e6db0ed4cd6d7eba8bf2
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
This commit is contained in:
Alexander Volkov 2018-10-31 19:50:29 +03:00
parent b1ef104866
commit 7aad542629
3 changed files with 60 additions and 43 deletions

View File

@ -390,10 +390,10 @@
action concerned. When the QAction has been dragged to the toolbar, action concerned. When the QAction has been dragged to the toolbar,
clicking the icon will launch the associated slot. clicking the icon will launch the associated slot.
Complete the method \c on_actionNew_triggered(): Complete the method \c newDocument():
\quotefromfile tutorials/notepad/notepad.cpp \quotefromfile tutorials/notepad/notepad.cpp
\skipto on_actionNew_triggered() \skipto newDocument()
\printuntil } \printuntil }
\c current_file is a global variable containing the file presently \c current_file is a global variable containing the file presently
@ -411,10 +411,10 @@
In \c notepad.ui, right click on \c actionOpen and select \c {Go to In \c notepad.ui, right click on \c actionOpen and select \c {Go to
slot} slot}
Complete method \c on_actionOpen_triggered(). Complete method \c open().
\quotefromfile tutorials/notepad/notepad.cpp \quotefromfile tutorials/notepad/notepad.cpp
\skipto on_actionOpen_triggered() \skipto open()
\printuntil file.close \printuntil file.close
\printuntil } \printuntil }
@ -436,7 +436,7 @@
\l {Opening a file}, by right clicking on \c actionSave, and \l {Opening a file}, by right clicking on \c actionSave, and
selecting \c {Go to Slot}. selecting \c {Go to Slot}.
\skipto Notepad::on_actionSave_triggered \skipto Notepad::save
\printuntil file.close \printuntil file.close
\printuntil } \printuntil }
@ -449,7 +449,7 @@
\section2 Saving a file with \c {Save as} \section2 Saving a file with \c {Save as}
\skipto Notepad::on_actionSave_as_triggered \skipto Notepad::saveAs
\printuntil file.close \printuntil file.close
\printuntil } \printuntil }
@ -475,7 +475,7 @@
\section2 Select a Font \section2 Select a Font
\skipto Notepad::on_actionFont_triggered \skipto Notepad::selectFont
\printuntil ui->textEdit->setFont \printuntil ui->textEdit->setFont
\printline } \printline }

View File

@ -74,6 +74,23 @@ Notepad::Notepad(QWidget *parent) :
ui->setupUi(this); ui->setupUi(this);
this->setCentralWidget(ui->textEdit); 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->actionFont, &QAction::triggered, this, &Notepad::selectFont);
connect(ui->actionBold, &QAction::triggered, this, &Notepad::setFontBold);
connect(ui->actionUnderline, &QAction::triggered, this, &Notepad::setFontUnderline);
connect(ui->actionItalic, &QAction::triggered, this, &Notepad::setFontItalic);
connect(ui->actionAbout, &QAction::triggered, this, &Notepad::about);
// Disable menu actions for unavailable features // Disable menu actions for unavailable features
#if !QT_CONFIG(printer) #if !QT_CONFIG(printer)
ui->actionPrint->setEnabled(false); ui->actionPrint->setEnabled(false);
@ -91,13 +108,13 @@ Notepad::~Notepad()
delete ui; delete ui;
} }
void Notepad::on_actionNew_triggered() void Notepad::newDocument()
{ {
currentFile.clear(); currentFile.clear();
ui->textEdit->setText(QString()); ui->textEdit->setText(QString());
} }
void Notepad::on_actionOpen_triggered() void Notepad::open()
{ {
QString fileName = QFileDialog::getOpenFileName(this, "Open the file"); QString fileName = QFileDialog::getOpenFileName(this, "Open the file");
QFile file(fileName); QFile file(fileName);
@ -113,7 +130,7 @@ void Notepad::on_actionOpen_triggered()
file.close(); file.close();
} }
void Notepad::on_actionSave_triggered() void Notepad::save()
{ {
QString fileName; QString fileName;
// If we don't have a filename from before, get one. // If we don't have a filename from before, get one.
@ -135,7 +152,7 @@ void Notepad::on_actionSave_triggered()
file.close(); file.close();
} }
void Notepad::on_actionSave_as_triggered() void Notepad::saveAs()
{ {
QString fileName = QFileDialog::getSaveFileName(this, "Save as"); QString fileName = QFileDialog::getSaveFileName(this, "Save as");
QFile file(fileName); QFile file(fileName);
@ -152,7 +169,7 @@ void Notepad::on_actionSave_as_triggered()
file.close(); file.close();
} }
void Notepad::on_actionPrint_triggered() void Notepad::print()
{ {
#if QT_CONFIG(printer) #if QT_CONFIG(printer)
QPrinter printDev; QPrinter printDev;
@ -165,43 +182,43 @@ void Notepad::on_actionPrint_triggered()
#endif // QT_CONFIG(printer) #endif // QT_CONFIG(printer)
} }
void Notepad::on_actionExit_triggered() void Notepad::exit()
{ {
QCoreApplication::quit(); QCoreApplication::quit();
} }
void Notepad::on_actionCopy_triggered() void Notepad::copy()
{ {
#if QT_CONFIG(clipboard) #if QT_CONFIG(clipboard)
ui->textEdit->copy(); ui->textEdit->copy();
#endif #endif
} }
void Notepad::on_actionCut_triggered() void Notepad::cut()
{ {
#if QT_CONFIG(clipboard) #if QT_CONFIG(clipboard)
ui->textEdit->cut(); ui->textEdit->cut();
#endif #endif
} }
void Notepad::on_actionPaste_triggered() void Notepad::paste()
{ {
#if QT_CONFIG(clipboard) #if QT_CONFIG(clipboard)
ui->textEdit->paste(); ui->textEdit->paste();
#endif #endif
} }
void Notepad::on_actionUndo_triggered() void Notepad::undo()
{ {
ui->textEdit->undo(); ui->textEdit->undo();
} }
void Notepad::on_actionRedo_triggered() void Notepad::redo()
{ {
ui->textEdit->redo(); ui->textEdit->redo();
} }
void Notepad::on_actionFont_triggered() void Notepad::selectFont()
{ {
bool fontSelected; bool fontSelected;
QFont font = QFontDialog::getFont(&fontSelected, this); QFont font = QFontDialog::getFont(&fontSelected, this);
@ -209,23 +226,23 @@ void Notepad::on_actionFont_triggered()
ui->textEdit->setFont(font); ui->textEdit->setFont(font);
} }
void Notepad::on_actionUnderline_triggered() void Notepad::setFontUnderline(bool underline)
{ {
ui->textEdit->setFontUnderline(ui->actionUnderline->isChecked()); ui->textEdit->setFontUnderline(underline);
} }
void Notepad::on_actionItalic_triggered() void Notepad::setFontItalic(bool italic)
{ {
ui->textEdit->setFontItalic(ui->actionItalic->isChecked()); ui->textEdit->setFontItalic(italic);
} }
void Notepad::on_actionBold_triggered() void Notepad::setFontBold(bool bold)
{ {
ui->actionBold->isChecked() ? ui->textEdit->setFontWeight(QFont::Bold) : bold ? ui->textEdit->setFontWeight(QFont::Bold) :
ui->textEdit->setFontWeight(QFont::Normal); ui->textEdit->setFontWeight(QFont::Normal);
} }
void Notepad::on_actionAbout_triggered() void Notepad::about()
{ {
QMessageBox::about(this, tr("About MDI"), QMessageBox::about(this, tr("About MDI"),
tr("The <b>Notepad</b> example demonstrates how to code a basic " tr("The <b>Notepad</b> example demonstrates how to code a basic "

View File

@ -79,37 +79,37 @@ public:
//! [5] //! [5]
private slots: private slots:
void on_actionNew_triggered(); void newDocument();
void on_actionOpen_triggered(); void open();
void on_actionSave_triggered(); void save();
void on_actionSave_as_triggered(); void saveAs();
void on_actionPrint_triggered(); void print();
void on_actionExit_triggered(); void exit();
void on_actionCopy_triggered(); void copy();
void on_actionCut_triggered(); void cut();
void on_actionPaste_triggered(); void paste();
void on_actionUndo_triggered(); void undo();
void on_actionRedo_triggered(); void redo();
void on_actionFont_triggered(); void selectFont();
void on_actionBold_triggered(); void setFontBold(bool bold);
void on_actionUnderline_triggered(); void setFontUnderline(bool underline);
void on_actionItalic_triggered(); void setFontItalic(bool italic);
void on_actionAbout_triggered(); void about();
//! [6] //! [6]
private: private: