From 3fede6cb547b783377e833c9b269d4cecfe47e61 Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Fri, 6 Sep 2019 20:27:33 +0200 Subject: Cleanup QtWidgets (tools) examples Cleanup QtWidgets tools examples: - use member-init (clang-tidy) - fix includes/don't include QtWidgets globally - include own header first - use nullptr (clang-tidy) - avoid c-style casts - use QVector instead QList - use QItemDelegate instead QStyledItemDelegate Change-Id: Ibe9440cdf711e5cc2138c054864edebe1fc95731 Reviewed-by: Paul Wicking --- examples/widgets/tools/i18n/languagechooser.cpp | 41 ++++++++++++++----------- examples/widgets/tools/i18n/languagechooser.h | 16 +++++----- examples/widgets/tools/i18n/mainwindow.cpp | 22 ++++++++----- examples/widgets/tools/i18n/mainwindow.h | 2 +- 4 files changed, 47 insertions(+), 34 deletions(-) (limited to 'examples/widgets/tools/i18n') diff --git a/examples/widgets/tools/i18n/languagechooser.cpp b/examples/widgets/tools/i18n/languagechooser.cpp index e61e4432e4..2ce3471873 100644 --- a/examples/widgets/tools/i18n/languagechooser.cpp +++ b/examples/widgets/tools/i18n/languagechooser.cpp @@ -48,34 +48,39 @@ ** ****************************************************************************/ -#include - #include "languagechooser.h" #include "mainwindow.h" -LanguageChooser::LanguageChooser(const QString& defaultLang, QWidget *parent) +#include +#include +#include +#include +#include +#include +#include +#include + +LanguageChooser::LanguageChooser(const QString &defaultLang, QWidget *parent) : QDialog(parent, Qt::WindowStaysOnTopHint) { groupBox = new QGroupBox("Languages"); QGridLayout *groupBoxLayout = new QGridLayout; - QStringList qmFiles = findQmFiles(); + const QStringList qmFiles = findQmFiles(); for (int i = 0; i < qmFiles.size(); ++i) { - QCheckBox *checkBox = new QCheckBox(languageName(qmFiles[i])); - qmFileForCheckBoxMap.insert(checkBox, qmFiles[i]); - connect(checkBox, - QOverload::of(&QCheckBox::toggled), - this, - &LanguageChooser::checkBoxToggled); - if (languageMatch(defaultLang, qmFiles[i])) - checkBox->setCheckState(Qt::Checked); + const QString &qmlFile = qmFiles.at(i); + QCheckBox *checkBox = new QCheckBox(languageName(qmlFile)); + qmFileForCheckBoxMap.insert(checkBox, qmlFile); + connect(checkBox, &QCheckBox::toggled, + this, &LanguageChooser::checkBoxToggled); + if (languageMatch(defaultLang, qmlFile)) + checkBox->setCheckState(Qt::Checked); groupBoxLayout->addWidget(checkBox, i / 2, i % 2); } groupBox->setLayout(groupBoxLayout); buttonBox = new QDialogButtonBox; - showAllButton = buttonBox->addButton("Show All", QDialogButtonBox::ActionRole); hideAllButton = buttonBox->addButton("Hide All", @@ -92,7 +97,7 @@ LanguageChooser::LanguageChooser(const QString& defaultLang, QWidget *parent) setWindowTitle("I18N"); } -bool LanguageChooser::languageMatch(const QString& lang, const QString& qmFile) +bool LanguageChooser::languageMatch(const QString &lang, const QString &qmFile) { //qmFile: i18n_xx.qm const QString prefix = "i18n_"; @@ -110,21 +115,21 @@ bool LanguageChooser::eventFilter(QObject *object, QEvent *event) checkBox->setChecked(false); } } - return QWidget::eventFilter(object, event); + return QDialog::eventFilter(object, event); } void LanguageChooser::closeEvent(QCloseEvent * /* event */) { - qApp->quit(); + QCoreApplication::quit(); } void LanguageChooser::checkBoxToggled() { QCheckBox *checkBox = qobject_cast(sender()); - MainWindow *window = mainWindowForCheckBoxMap[checkBox]; + MainWindow *window = mainWindowForCheckBoxMap.value(checkBox); if (!window) { QTranslator translator; - translator.load(qmFileForCheckBoxMap[checkBox]); + translator.load(qmFileForCheckBoxMap.value(checkBox)); qApp->installTranslator(&translator); window = new MainWindow; diff --git a/examples/widgets/tools/i18n/languagechooser.h b/examples/widgets/tools/i18n/languagechooser.h index 13363c7111..733cc50fd3 100644 --- a/examples/widgets/tools/i18n/languagechooser.h +++ b/examples/widgets/tools/i18n/languagechooser.h @@ -52,7 +52,7 @@ #define LANGUAGECHOOSER_H #include -#include +#include #include QT_BEGIN_NAMESPACE @@ -68,7 +68,7 @@ class LanguageChooser : public QDialog Q_OBJECT public: - explicit LanguageChooser(const QString& defaultLang = QString(), QWidget *parent = 0); + explicit LanguageChooser(const QString &defaultLang = QString(), QWidget *parent = nullptr); protected: bool eventFilter(QObject *object, QEvent *event) override; @@ -80,17 +80,17 @@ private slots: void hideAll(); private: - QStringList findQmFiles(); - QString languageName(const QString &qmFile); - QColor colorForLanguage(const QString &language); - static bool languageMatch(const QString& lang, const QString& qmFile); + static QStringList findQmFiles(); + static QString languageName(const QString &qmFile); + static QColor colorForLanguage(const QString &language); + static bool languageMatch(const QString &lang, const QString &qmFile); QGroupBox *groupBox; QDialogButtonBox *buttonBox; QAbstractButton *showAllButton; QAbstractButton *hideAllButton; - QMap qmFileForCheckBoxMap; - QMap mainWindowForCheckBoxMap; + QHash qmFileForCheckBoxMap; + QHash mainWindowForCheckBoxMap; }; #endif diff --git a/examples/widgets/tools/i18n/mainwindow.cpp b/examples/widgets/tools/i18n/mainwindow.cpp index 6ebfddfa98..a107a819ca 100644 --- a/examples/widgets/tools/i18n/mainwindow.cpp +++ b/examples/widgets/tools/i18n/mainwindow.cpp @@ -48,18 +48,26 @@ ** ****************************************************************************/ -#include - #include "mainwindow.h" +#include +#include +#include +#include +#include +#include +#include +#include + static const char * const listEntries[] = { QT_TRANSLATE_NOOP("MainWindow", "First"), QT_TRANSLATE_NOOP("MainWindow", "Second"), QT_TRANSLATE_NOOP("MainWindow", "Third"), - 0 + nullptr }; -MainWindow::MainWindow() +MainWindow::MainWindow(QWidget *parent) + : QMainWindow(parent) { centralWidget = new QWidget; setCentralWidget(centralWidget); @@ -67,8 +75,8 @@ MainWindow::MainWindow() createGroupBox(); listWidget = new QListWidget; - for (int i = 0; listEntries[i]; ++i) - listWidget->addItem(tr(listEntries[i])); + for (const char *entry : listEntries) + listWidget->addItem(tr(entry)); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addWidget(groupBox); @@ -76,7 +84,7 @@ MainWindow::MainWindow() centralWidget->setLayout(mainLayout); exitAction = new QAction(tr("E&xit"), this); - connect(exitAction, &QAction::triggered, qApp, QApplication::quit); + connect(exitAction, &QAction::triggered, qApp, QCoreApplication::quit); fileMenu = menuBar()->addMenu(tr("&File")); fileMenu->setPalette(QPalette(Qt::red)); diff --git a/examples/widgets/tools/i18n/mainwindow.h b/examples/widgets/tools/i18n/mainwindow.h index e011151894..105472d60c 100644 --- a/examples/widgets/tools/i18n/mainwindow.h +++ b/examples/widgets/tools/i18n/mainwindow.h @@ -67,7 +67,7 @@ class MainWindow : public QMainWindow Q_OBJECT public: - MainWindow(); + MainWindow(QWidget *parent = nullptr); private: void createGroupBox(); -- cgit v1.2.3