From 3514aedbf36b96f6e03f88c9c7814b6ba50aac8f Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Sun, 3 Feb 2019 19:55:51 +0100 Subject: QtWidgets documentation: cleanup Cleanup the QtWidgets documentation: - use new signal/slot syntax - use range-based for loop instead foreach Change-Id: I621b1ddac108d3df676209241d93d9b4f04a25fe Reviewed-by: Friedemann Kleint --- .../code/src_gui_itemviews_qdatawidgetmapper.cpp | 8 +++--- .../snippets/code/src_gui_kernel_qapplication.cpp | 12 ++++++--- .../doc/snippets/code/src_gui_widgets_qmenu.cpp | 2 +- src/widgets/doc/snippets/dialogs/dialogs.cpp | 9 ++++--- .../doc/snippets/dockwidgets/mainwindow.cpp | 8 +++--- src/widgets/doc/snippets/mdiareasnippets.cpp | 4 +-- .../doc/snippets/qlistview-dnd/mainwindow.cpp | 3 ++- src/widgets/doc/snippets/qlistview-dnd/model.cpp | 8 +++--- .../doc/snippets/qlistwidget-dnd/mainwindow.cpp | 4 +-- .../doc/snippets/qlistwidget-using/mainwindow.cpp | 17 ++++++------ .../doc/snippets/qsortfilterproxymodel/main.cpp | 7 +++-- src/widgets/doc/snippets/qstackedlayout/main.cpp | 9 +++---- src/widgets/doc/snippets/qstackedwidget/main.cpp | 7 +++-- .../snippets/qtablewidget-resizing/mainwindow.cpp | 8 +++--- .../doc/snippets/qtablewidget-using/mainwindow.cpp | 20 +++++++------- .../doc/snippets/qtreewidget-using/mainwindow.cpp | 31 ++++++++++------------ .../qtreewidgetitemiterator-using/mainwindow.cpp | 21 +++++++-------- .../doc/snippets/reading-selections/window.cpp | 18 ++++++------- .../doc/snippets/updating-selections/window.cpp | 17 +++++------- src/widgets/doc/src/model-view-programming.qdoc | 5 ++-- 20 files changed, 104 insertions(+), 114 deletions(-) diff --git a/src/widgets/doc/snippets/code/src_gui_itemviews_qdatawidgetmapper.cpp b/src/widgets/doc/snippets/code/src_gui_itemviews_qdatawidgetmapper.cpp index 4dad563660..cc1568cb9d 100644 --- a/src/widgets/doc/snippets/code/src_gui_itemviews_qdatawidgetmapper.cpp +++ b/src/widgets/doc/snippets/code/src_gui_itemviews_qdatawidgetmapper.cpp @@ -59,7 +59,7 @@ mapper->toFirst(); //! [1] -QDataWidgetMapper *mapper = new QDataWidgetMapper(); +QDataWidgetMapper *mapper = new QDataWidgetMapper; mapper->setModel(myModel); mapper->addMapping(nameLineEdit, 0); mapper->addMapping(ageSpinBox, 1); @@ -67,7 +67,7 @@ mapper->addMapping(ageSpinBox, 1); //! [2] -QDataWidgetMapper *mapper = new QDataWidgetMapper(); -connect(myTableView->selectionModel(), SIGNAL(currentRowChanged(QModelIndex,QModelIndex)), - mapper, SLOT(setCurrentModelIndex(QModelIndex))); +QDataWidgetMapper *mapper = new QDataWidgetMapper; +connect(myTableView->selectionModel(), &QItemSelectionModel::currentRowChanged, + mapper, &QDataWidgetMapper::setCurrentModelIndex); //! [2] diff --git a/src/widgets/doc/snippets/code/src_gui_kernel_qapplication.cpp b/src/widgets/doc/snippets/code/src_gui_kernel_qapplication.cpp index a907a0421f..0a70c1d32a 100644 --- a/src/widgets/doc/snippets/code/src_gui_kernel_qapplication.cpp +++ b/src/widgets/doc/snippets/code/src_gui_kernel_qapplication.cpp @@ -100,7 +100,8 @@ QSize MyWidget::sizeHint() const //! [4] void showAllHiddenTopLevelWidgets() { - foreach (QWidget *widget, QApplication::topLevelWidgets()) { + const QWidgetList topLevelWidgets = QApplication::topLevelWidgets(); + for (QWidget *widget : topLevelWidgets) { if (widget->isHidden()) widget->show(); } @@ -111,7 +112,8 @@ void showAllHiddenTopLevelWidgets() //! [5] void updateAllWidgets() { - foreach (QWidget *widget, QApplication::allWidgets()) + const QWidgetList allWidgets = QApplication::allWidgets(); + for (QWidget *widget : allWidgets) widget->update(); } //! [5] @@ -171,13 +173,15 @@ appname -session id //! [10] -foreach (const QString &command, mySession.restartCommand()) +const QStringList commands = mySession.restartCommand(); +for (const QString &command : commands) do_something(command); //! [10] //! [11] -foreach (const QString &command, mySession.discardCommand()) +const QStringList commands = mySession.discardCommand(); +for (const QString &command : commands) do_something(command); //! [11] diff --git a/src/widgets/doc/snippets/code/src_gui_widgets_qmenu.cpp b/src/widgets/doc/snippets/code/src_gui_widgets_qmenu.cpp index 4b1c4cd645..da3fd28056 100644 --- a/src/widgets/doc/snippets/code/src_gui_widgets_qmenu.cpp +++ b/src/widgets/doc/snippets/code/src_gui_widgets_qmenu.cpp @@ -81,7 +81,7 @@ exec(e->globalPos()); //! [6] QMenu menu; QAction *at = actions[0]; // Assumes actions is not empty -foreach (QAction *a, actions) +for (QAction *a : qAsConst(actions)) menu.addAction(a); menu.exec(pos, at); //! [6] diff --git a/src/widgets/doc/snippets/dialogs/dialogs.cpp b/src/widgets/doc/snippets/dialogs/dialogs.cpp index cca3ac8d75..7fa793c70f 100644 --- a/src/widgets/doc/snippets/dialogs/dialogs.cpp +++ b/src/widgets/doc/snippets/dialogs/dialogs.cpp @@ -48,7 +48,7 @@ ** ****************************************************************************/ -#include +#include typedef QDialog WordCountDialog; typedef QDialog FindDialog; @@ -76,7 +76,8 @@ void EditorWindow::find() { if (!findDialog) { findDialog = new FindDialog(this); - connect(findDialog, SIGNAL(findNext()), this, SLOT(findNext())); + connect(findDialog, &FindDialog::findNext, + this, &EditorWindow::findNext); } findDialog->show(); @@ -249,9 +250,9 @@ Operation::Operation(QObject *parent) : QObject(parent), steps(0) { pd = new QProgressDialog("Operation in progress.", "Cancel", 0, 100); - connect(pd, SIGNAL(canceled()), this, SLOT(cancel())); + connect(pd, &QProgressDialog::canceled, this, &Operation::cancel); t = new QTimer(this); - connect(t, SIGNAL(timeout()), this, SLOT(perform())); + connect(t, &QTimer::timeout, this, &Operation::perform); t->start(0); } //! [4] //! [5] diff --git a/src/widgets/doc/snippets/dockwidgets/mainwindow.cpp b/src/widgets/doc/snippets/dockwidgets/mainwindow.cpp index f6959cc12b..53f91589bf 100644 --- a/src/widgets/doc/snippets/dockwidgets/mainwindow.cpp +++ b/src/widgets/doc/snippets/dockwidgets/mainwindow.cpp @@ -48,7 +48,7 @@ ** ****************************************************************************/ -#include +#include #include "mainwindow.h" @@ -63,8 +63,8 @@ MainWindow::MainWindow(QWidget *parent) textBrowser = new QTextBrowser(this); - connect(headingList, SIGNAL(itemClicked(QListWidgetItem*)), - this, SLOT(updateText(QListWidgetItem*))); + connect(headingList, &QListWidget::itemClicked, + this, &MainWindow::updateText); updateText(headingList->item(0)); headingList->setCurrentRow(0); @@ -119,7 +119,7 @@ void MainWindow::setupMenus() QAction *exitAct = new QAction(tr("E&xit"), this); exitAct->setShortcut(tr("Ctrl+Q")); exitAct->setStatusTip(tr("Exit the application")); - connect(exitAct, SIGNAL(triggered()), qApp, SLOT(closeAllWindows())); + connect(exitAct, &QAction::triggered, qApp, &QApplication::closeAllWindows); QMenu *fileMenu = menuBar()->addMenu(tr("&File")); fileMenu->addAction(exitAct); diff --git a/src/widgets/doc/snippets/mdiareasnippets.cpp b/src/widgets/doc/snippets/mdiareasnippets.cpp index b9d6f05daf..dec7aaa1e7 100644 --- a/src/widgets/doc/snippets/mdiareasnippets.cpp +++ b/src/widgets/doc/snippets/mdiareasnippets.cpp @@ -48,7 +48,7 @@ ** ****************************************************************************/ -#include +#include void mainWindowExample() { @@ -95,7 +95,7 @@ int main(int argv, char **args) QAction *act = new QAction(qApp); act->setShortcut(Qt::ALT + Qt::Key_S); act->setShortcutContext( Qt::ApplicationShortcut ); - QObject::connect(act, SIGNAL(triggered()), qApp, SLOT(aboutQt())); + QObject::connect(act, &QAction::triggered, qApp, &QApplication::aboutQt); QWidget widget5; widget5.show(); diff --git a/src/widgets/doc/snippets/qlistview-dnd/mainwindow.cpp b/src/widgets/doc/snippets/qlistview-dnd/mainwindow.cpp index c2af9c4cf1..45f1eb7aa3 100644 --- a/src/widgets/doc/snippets/qlistview-dnd/mainwindow.cpp +++ b/src/widgets/doc/snippets/qlistview-dnd/mainwindow.cpp @@ -73,7 +73,8 @@ listView->setDropIndicatorShown(true); this->listView = listView; - connect(quitAction, SIGNAL(triggered()), this, SLOT(close())); + connect(quitAction, &QAction::triggered, + this, &QWidget::close); setupListItems(); diff --git a/src/widgets/doc/snippets/qlistview-dnd/model.cpp b/src/widgets/doc/snippets/qlistview-dnd/model.cpp index 710bbb2964..6835479e7a 100644 --- a/src/widgets/doc/snippets/qlistview-dnd/model.cpp +++ b/src/widgets/doc/snippets/qlistview-dnd/model.cpp @@ -54,7 +54,7 @@ A simple model that uses a QStringList as its data source. */ -#include +#include #include "model.h" @@ -121,7 +121,7 @@ bool DragDropListModel::dropMimeData(const QMimeData *data, //! [6] insertRows(beginRow, rows, QModelIndex()); - foreach (const QString &text, newItems) { + for (const QString &text : qAsConst(newItems)) { QModelIndex idx = index(beginRow, 0, QModelIndex()); setData(idx, text); beginRow++; @@ -146,12 +146,12 @@ Qt::ItemFlags DragDropListModel::flags(const QModelIndex &index) const //! [8] QMimeData *DragDropListModel::mimeData(const QModelIndexList &indexes) const { - QMimeData *mimeData = new QMimeData(); + QMimeData *mimeData = new QMimeData; QByteArray encodedData; QDataStream stream(&encodedData, QIODevice::WriteOnly); - foreach (const QModelIndex &index, indexes) { + for (const QModelIndex &index : indexes) { if (index.isValid()) { QString text = data(index, Qt::DisplayRole).toString(); stream << text; diff --git a/src/widgets/doc/snippets/qlistwidget-dnd/mainwindow.cpp b/src/widgets/doc/snippets/qlistwidget-dnd/mainwindow.cpp index 1153250b17..70df2b112e 100644 --- a/src/widgets/doc/snippets/qlistwidget-dnd/mainwindow.cpp +++ b/src/widgets/doc/snippets/qlistwidget-dnd/mainwindow.cpp @@ -48,7 +48,7 @@ ** ****************************************************************************/ -#include +#include #include "mainwindow.h" @@ -74,7 +74,7 @@ listWidget->setDragDropMode(QAbstractItemView::InternalMove); this->listWidget = listWidget; - connect(quitAction, SIGNAL(triggered()), this, SLOT(close())); + connect(quitAction, &QAction::triggered, this, &QWidget::close); setupListItems(); diff --git a/src/widgets/doc/snippets/qlistwidget-using/mainwindow.cpp b/src/widgets/doc/snippets/qlistwidget-using/mainwindow.cpp index ff69fd2efd..13b20bb856 100644 --- a/src/widgets/doc/snippets/qlistwidget-using/mainwindow.cpp +++ b/src/widgets/doc/snippets/qlistwidget-using/mainwindow.cpp @@ -48,7 +48,7 @@ ** ****************************************************************************/ -#include +#include #include "mainwindow.h" @@ -77,14 +77,13 @@ MainWindow::MainWindow() listWidget = new QListWidget(this); listWidget->setSelectionMode(QAbstractItemView::SingleSelection); - connect(quitAction, SIGNAL(triggered()), this, SLOT(close())); - connect(ascendingAction, SIGNAL(triggered()), this, SLOT(sortAscending())); - connect(descendingAction, SIGNAL(triggered()), this, SLOT(sortDescending())); - connect(insertAction, SIGNAL(triggered()), this, SLOT(insertItem())); - connect(removeAction, SIGNAL(triggered()), this, SLOT(removeItem())); - connect(listWidget, - SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)), - this, SLOT(updateMenus(QListWidgetItem*))); + connect(quitAction, &QAction::triggered, this, &QWidget::close); + connect(ascendingAction, &QAction::triggered, this, &MainWindow::sortAscending); + connect(descendingAction, &QAction::triggered, this, &MainWindow::sortDescending); + connect(insertAction, &QAction::triggered, this, &MainWindow::insertItem); + connect(removeAction, &QAction::triggered, this, &MainWindow::removeItem); + connect(listWidget, &QListWidget::currentItemChanged, + this, &MainWindow::updateMenus); setupListItems(); updateMenus(listWidget->currentItem()); diff --git a/src/widgets/doc/snippets/qsortfilterproxymodel/main.cpp b/src/widgets/doc/snippets/qsortfilterproxymodel/main.cpp index a6284bd578..2d4b1023f1 100644 --- a/src/widgets/doc/snippets/qsortfilterproxymodel/main.cpp +++ b/src/widgets/doc/snippets/qsortfilterproxymodel/main.cpp @@ -48,7 +48,7 @@ ** ****************************************************************************/ -#include +#include int main(int argc, char *argv[]) { @@ -74,9 +74,8 @@ int main(int argc, char *argv[]) filteredView->setWindowTitle("Filtered view onto a string list model"); QLineEdit *patternEditor = new QLineEdit; - QObject:: - connect(patternEditor, SIGNAL(textChanged(QString)), - filterModel, SLOT(setFilterRegExp(QString))); + QObject::connect(patternEditor, &QLineEdit::textChanged, + filterModel, &QSortFilterProxyModel::setFilterWildcard); QVBoxLayout *layout = new QVBoxLayout(window); layout->addWidget(filteredView); diff --git a/src/widgets/doc/snippets/qstackedlayout/main.cpp b/src/widgets/doc/snippets/qstackedlayout/main.cpp index 765608848c..9c61939dee 100644 --- a/src/widgets/doc/snippets/qstackedlayout/main.cpp +++ b/src/widgets/doc/snippets/qstackedlayout/main.cpp @@ -48,13 +48,12 @@ ** ****************************************************************************/ -#include -#include +#include class Widget : public QWidget { public: - Widget(QWidget *parent = 0); + Widget(QWidget *parent = nullptr); }; Widget::Widget(QWidget *parent) @@ -75,8 +74,8 @@ Widget::Widget(QWidget *parent) pageComboBox->addItem(tr("Page 1")); pageComboBox->addItem(tr("Page 2")); pageComboBox->addItem(tr("Page 3")); - connect(pageComboBox, SIGNAL(activated(int)), - stackedLayout, SLOT(setCurrentIndex(int))); + connect(pageComboBox, QOverload::of(&QComboBox::activated), + stackedLayout, &QStackedLayout::setCurrentIndex); //! [1] //! [2] diff --git a/src/widgets/doc/snippets/qstackedwidget/main.cpp b/src/widgets/doc/snippets/qstackedwidget/main.cpp index a6c9c7afe3..077c281830 100644 --- a/src/widgets/doc/snippets/qstackedwidget/main.cpp +++ b/src/widgets/doc/snippets/qstackedwidget/main.cpp @@ -48,8 +48,7 @@ ** ****************************************************************************/ -#include -#include +#include class Widget : public QWidget { @@ -75,8 +74,8 @@ Widget::Widget(QWidget *parent) pageComboBox->addItem(tr("Page 1")); pageComboBox->addItem(tr("Page 2")); pageComboBox->addItem(tr("Page 3")); - connect(pageComboBox, SIGNAL(activated(int)), - stackedWidget, SLOT(setCurrentIndex(int))); + connect(pageComboBox, QOverload::of(&QComboBox::activated), + stackedWidget, &QStackedWidget::setCurrentIndex); //! [1] //! [2] QVBoxLayout *layout = new QVBoxLayout; diff --git a/src/widgets/doc/snippets/qtablewidget-resizing/mainwindow.cpp b/src/widgets/doc/snippets/qtablewidget-resizing/mainwindow.cpp index 95113153e1..d2c50336f6 100644 --- a/src/widgets/doc/snippets/qtablewidget-resizing/mainwindow.cpp +++ b/src/widgets/doc/snippets/qtablewidget-resizing/mainwindow.cpp @@ -48,7 +48,7 @@ ** ****************************************************************************/ -#include +#include #include "mainwindow.h" @@ -72,9 +72,9 @@ MainWindow::MainWindow() //! [0] tableWidget->setSelectionMode(QAbstractItemView::ExtendedSelection); - connect(quitAction, SIGNAL(triggered()), this, SLOT(close())); - connect(tableWidthAction, SIGNAL(triggered()), this, SLOT(changeWidth())); - connect(tableHeightAction, SIGNAL(triggered()), this, SLOT(changeHeight())); + connect(quitAction, &QAction::triggered, this, &QWidget::close); + connect(tableWidthAction, &QAction::triggered, this, &MainWindow::changeWidth); + connect(tableHeightAction, &QAction::triggered, this, &MainWindow::changeHeight); setupTableItems(); diff --git a/src/widgets/doc/snippets/qtablewidget-using/mainwindow.cpp b/src/widgets/doc/snippets/qtablewidget-using/mainwindow.cpp index 15b9457dd5..47b63b2b3f 100644 --- a/src/widgets/doc/snippets/qtablewidget-using/mainwindow.cpp +++ b/src/widgets/doc/snippets/qtablewidget-using/mainwindow.cpp @@ -48,8 +48,8 @@ ** ****************************************************************************/ -#include -#include "math.h" +#include +#include #include "mainwindow.h" @@ -89,9 +89,9 @@ MainWindow::MainWindow() tableWidget->setHorizontalHeaderItem(1, squaresHeaderItem); tableWidget->setHorizontalHeaderItem(2, cubesHeaderItem); - connect(quitAction, SIGNAL(triggered()), this, SLOT(close())); - connect(sumItemsAction, SIGNAL(triggered()), this, SLOT(sumItems())); - connect(averageItemsAction, SIGNAL(triggered()), this, SLOT(averageItems())); + connect(quitAction, &QAction::triggered, this, &QWidget::close); + connect(sumItemsAction, &QAction::triggered, this, &MainWindow::sumItems); + connect(averageItemsAction, &QAction::triggered, this, &MainWindow::averageItems); setupTableItems(); @@ -119,12 +119,11 @@ void MainWindow::setupTableItems() void MainWindow::averageItems() { - QList selected = tableWidget->selectedItems(); - QTableWidgetItem *item; + const QList selected = tableWidget->selectedItems(); int number = 0; double total = 0; - foreach (item, selected) { + for (QTableWidgetItem *item : selected) { bool ok; double value = item->text().toDouble(&ok); @@ -140,12 +139,11 @@ void MainWindow::averageItems() void MainWindow::sumItems() { //! [4] - QList selected = tableWidget->selectedItems(); - QTableWidgetItem *item; + const QList selected = tableWidget->selectedItems(); int number = 0; double total = 0; - foreach (item, selected) { + for (QTableWidgetItem *item : selected) { bool ok; double value = item->text().toDouble(&ok); diff --git a/src/widgets/doc/snippets/qtreewidget-using/mainwindow.cpp b/src/widgets/doc/snippets/qtreewidget-using/mainwindow.cpp index 7c8d3f936e..b9e258cb03 100644 --- a/src/widgets/doc/snippets/qtreewidget-using/mainwindow.cpp +++ b/src/widgets/doc/snippets/qtreewidget-using/mainwindow.cpp @@ -48,7 +48,7 @@ ** ****************************************************************************/ -#include +#include #include "mainwindow.h" @@ -90,16 +90,15 @@ MainWindow::MainWindow() treeWidget->setHeaderLabels(headers); //! [2] - connect(quitAction, SIGNAL(triggered()), this, SLOT(close())); - connect(ascendingAction, SIGNAL(triggered()), this, SLOT(sortAscending())); - connect(autoSortAction, SIGNAL(triggered()), this, SLOT(updateSortItems())); - connect(descendingAction, SIGNAL(triggered()), this, SLOT(sortDescending())); - connect(findItemsAction, SIGNAL(triggered()), this, SLOT(findItems())); - connect(insertAction, SIGNAL(triggered()), this, SLOT(insertItem())); - connect(removeAction, SIGNAL(triggered()), this, SLOT(removeItem())); - connect(treeWidget, - SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)), - this, SLOT(updateMenus(QTreeWidgetItem*))); + connect(quitAction, &QAction::triggered, this, &QWidget::close); + connect(ascendingAction, &QAction::triggered, this, &MainWindow::sortAscending); + connect(autoSortAction, &QAction::triggered, this, &MainWindow::updateSortItems); + connect(descendingAction, &QAction::triggered, this, &MainWindow::sortDescending); + connect(findItemsAction, &QAction::triggered, this, &MainWindow::findItems); + connect(insertAction, &QAction::triggered, this, &MainWindow::insertItem); + connect(removeAction, &QAction::triggered, this, &MainWindow::removeItem); + connect(treeWidget, &QTreeWidget::currentItemChanged, + this, &MainWindow::updateMenus); setupTreeItems(); updateMenus(treeWidget->currentItem()); @@ -150,17 +149,15 @@ void MainWindow::findItems() if (itemText.isEmpty()) return; -//! [6] - QTreeWidgetItem *item; -//! [6] - foreach (item, treeWidget->selectedItems()) + const QList items = treeWidget->selectedItems(); + for (QTreeWidgetItem *item : items) item->setSelected(false); //! [7] - QList found = treeWidget->findItems( + const QList found = treeWidget->findItems( itemText, Qt::MatchWildcard); - foreach (item, found) { + for (QTreeWidgetItem *item : found) { item->setSelected(true); // Show the item->text(0) for each item. } diff --git a/src/widgets/doc/snippets/qtreewidgetitemiterator-using/mainwindow.cpp b/src/widgets/doc/snippets/qtreewidgetitemiterator-using/mainwindow.cpp index 5f1f606185..bfe099bbb4 100644 --- a/src/widgets/doc/snippets/qtreewidgetitemiterator-using/mainwindow.cpp +++ b/src/widgets/doc/snippets/qtreewidgetitemiterator-using/mainwindow.cpp @@ -48,7 +48,7 @@ ** ****************************************************************************/ -#include +#include #include "mainwindow.h" @@ -85,16 +85,15 @@ MainWindow::MainWindow() headers << tr("Subject") << tr("Default"); treeWidget->setHeaderLabels(headers); - connect(quitAction, SIGNAL(triggered()), this, SLOT(close())); - connect(ascendingAction, SIGNAL(triggered()), this, SLOT(sortAscending())); - connect(autoSortAction, SIGNAL(triggered()), this, SLOT(updateSortItems())); - connect(descendingAction, SIGNAL(triggered()), this, SLOT(sortDescending())); - connect(findItemsAction, SIGNAL(triggered()), this, SLOT(findItems())); - connect(insertAction, SIGNAL(triggered()), this, SLOT(insertItem())); - connect(removeAction, SIGNAL(triggered()), this, SLOT(removeItem())); - connect(treeWidget, - SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)), - this, SLOT(updateMenus(QTreeWidgetItem*))); + connect(quitAction, &QAction::triggered, this, &QWidget::close); + connect(ascendingAction, &QAction::triggered, this, &MainWindow::sortAscending); + connect(autoSortAction, &QAction::triggered, this, &MainWindow::updateSortItems); + connect(descendingAction, &QAction::triggered, this, &MainWindow::sortDescending); + connect(findItemsAction, &QAction::triggered, this, &MainWindow::findItems); + connect(insertAction, &QAction::triggered, this, &MainWindow::insertItem); + connect(removeAction, &QAction::triggered, this, &MainWindow::removeItem); + connect(treeWidget, &QTreeWidget::currentItemChanged, + this, &MainWindow::updateMenus); setupTreeItems(); updateMenus(treeWidget->currentItem()); diff --git a/src/widgets/doc/snippets/reading-selections/window.cpp b/src/widgets/doc/snippets/reading-selections/window.cpp index 08805fe4b3..045d66a199 100644 --- a/src/widgets/doc/snippets/reading-selections/window.cpp +++ b/src/widgets/doc/snippets/reading-selections/window.cpp @@ -81,9 +81,9 @@ MainWindow::MainWindow(QWidget *parent) QAction *selectAllAction = actionMenu->addAction(tr("&Select All")); menuBar()->addMenu(actionMenu); - connect(fillAction, SIGNAL(triggered()), this, SLOT(fillSelection())); - connect(clearAction, SIGNAL(triggered()), this, SLOT(clearSelection())); - connect(selectAllAction, SIGNAL(triggered()), this, SLOT(selectAll())); + connect(fillAction, &QAction::triggered, this, &MainWindow::fillSelection); + connect(clearAction, &QAction::triggered, this, &MainWindow::clearSelection); + connect(selectAllAction, &QAction::triggered, this, &MainWindow::selectAll); selectionModel = table->selectionModel(); @@ -94,10 +94,9 @@ MainWindow::MainWindow(QWidget *parent) void MainWindow::fillSelection() { //! [0] - QModelIndexList indexes = selectionModel->selectedIndexes(); - QModelIndex index; + const QModelIndexList indexes = selectionModel->selectedIndexes(); - foreach(index, indexes) { + for (const QModelIndex &index : indexes) { QString text = QString("(%1,%2)").arg(index.row()).arg(index.column()); model->setData(index, text); } @@ -106,11 +105,10 @@ void MainWindow::fillSelection() void MainWindow::clearSelection() { - QModelIndexList indexes = selectionModel->selectedIndexes(); - QModelIndex index; + const QModelIndexList indexes = selectionModel->selectedIndexes(); - foreach(index, indexes) - model->setData(index, ""); + for (const QModelIndex &index : indexes) + model->setData(index, QString()); } void MainWindow::selectAll() diff --git a/src/widgets/doc/snippets/updating-selections/window.cpp b/src/widgets/doc/snippets/updating-selections/window.cpp index 0bdcf8a64d..26e9b56ae4 100644 --- a/src/widgets/doc/snippets/updating-selections/window.cpp +++ b/src/widgets/doc/snippets/updating-selections/window.cpp @@ -74,12 +74,10 @@ MainWindow::MainWindow(QWidget *parent) table->setModel(model); selectionModel = table->selectionModel(); - connect(selectionModel, - SIGNAL(selectionChanged(QItemSelection,QItemSelection)), - this, SLOT(updateSelection(QItemSelection,QItemSelection))); - connect(selectionModel, - SIGNAL(currentChanged(QModelIndex,QModelIndex)), - this, SLOT(changeCurrent(QModelIndex,QModelIndex))); + connect(selectionModel, &QItemSelectionModel::selectionChanged, + this, &MainWindow::updateSelection); + connect(selectionModel, &QItemSelectionModel::currentChanged, + this, &MainWindow::changeCurrent); statusBar(); setCentralWidget(table); @@ -89,10 +87,9 @@ MainWindow::MainWindow(QWidget *parent) void MainWindow::updateSelection(const QItemSelection &selected, const QItemSelection &deselected) { - QModelIndex index; QModelIndexList items = selected.indexes(); - foreach (index, items) { + for (const QModelIndex &index : qAsConst(items)) { QString text = QString("(%1,%2)").arg(index.row()).arg(index.column()); model->setData(index, text); //! [0] //! [1] @@ -102,8 +99,8 @@ void MainWindow::updateSelection(const QItemSelection &selected, //! [2] items = deselected.indexes(); - foreach (index, items) - model->setData(index, ""); + for (const QModelIndex &index : qAsConst(items)) { + model->setData(index, QString()); } //! [2] diff --git a/src/widgets/doc/src/model-view-programming.qdoc b/src/widgets/doc/src/model-view-programming.qdoc index 83397c90b6..9335ff78c9 100644 --- a/src/widgets/doc/src/model-view-programming.qdoc +++ b/src/widgets/doc/src/model-view-programming.qdoc @@ -1003,8 +1003,8 @@ \snippet reading-selections/window.cpp 0 - The above code uses Qt's convenient \l{Container Classes}{foreach - keyword} to iterate over, and modify, the items corresponding to the + The above code uses a range-based for-loop to iterate over, + and modify, the items corresponding to the indexes returned by the selection model. The selection model emits signals to indicate changes in the @@ -1611,7 +1611,6 @@ We can obtain a list of matching items with the \c findItems() function: - \snippet qtreewidget-using/mainwindow.cpp 6 \snippet qtreewidget-using/mainwindow.cpp 7 The above code causes items in a tree widget to be selected if they -- cgit v1.2.3