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,
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
\skipto on_actionNew_triggered()
\skipto newDocument()
\printuntil }
\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
slot}
Complete method \c on_actionOpen_triggered().
Complete method \c open().
\quotefromfile tutorials/notepad/notepad.cpp
\skipto on_actionOpen_triggered()
\skipto open()
\printuntil file.close
\printuntil }
@ -436,7 +436,7 @@
\l {Opening a file}, by right clicking on \c actionSave, and
selecting \c {Go to Slot}.
\skipto Notepad::on_actionSave_triggered
\skipto Notepad::save
\printuntil file.close
\printuntil }
@ -449,7 +449,7 @@
\section2 Saving a file with \c {Save as}
\skipto Notepad::on_actionSave_as_triggered
\skipto Notepad::saveAs
\printuntil file.close
\printuntil }
@ -475,7 +475,7 @@
\section2 Select a Font
\skipto Notepad::on_actionFont_triggered
\skipto Notepad::selectFont
\printuntil ui->textEdit->setFont
\printline }

View File

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

View File

@ -79,37 +79,37 @@ public:
//! [5]
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]
private: