From 2772bad4718a135da60508d97ba9923ca285bb45 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sat, 10 Aug 2019 21:56:53 +0200 Subject: [PATCH] Improve parameter-passing in settings classes * Pass QList by const ref * Construct QList/QVector from initializer list --- settingsdialog/optioncategory.cpp | 5 ++--- settingsdialog/optioncategory.h | 18 ++++++++---------- settingsdialog/optioncategorymodel.cpp | 6 +++--- settingsdialog/optioncategorymodel.h | 2 +- settingsdialog/settingsdialog.cpp | 2 +- 5 files changed, 15 insertions(+), 18 deletions(-) diff --git a/settingsdialog/optioncategory.cpp b/settingsdialog/optioncategory.cpp index ee89a1e..2a2304b 100644 --- a/settingsdialog/optioncategory.cpp +++ b/settingsdialog/optioncategory.cpp @@ -79,11 +79,10 @@ bool OptionCategory::matches(const QString &searchKeyWord) const * Previously assigned pages get deleted. The pagesChanged() signal is emitted. * The category takes ownership over the given \a pages. */ -void OptionCategory::assignPages(const QList pages) +void OptionCategory::assignPages(const QList &pages) { qDeleteAll(m_pages); - m_pages = pages; - emit pagesChanged(); + emit pagesChanged(m_pages = pages); } /*! diff --git a/settingsdialog/optioncategory.h b/settingsdialog/optioncategory.h index fef8fbc..56e5c69 100644 --- a/settingsdialog/optioncategory.h +++ b/settingsdialog/optioncategory.h @@ -25,8 +25,8 @@ public: void setDisplayName(const QString &displayName); const QIcon &icon() const; void setIcon(const QIcon &icon); - const QList pages() const; - void assignPages(const QList pages); + const QList &pages() const; + void assignPages(const QList &pages); bool applyAllPages(); void resetAllPages(); bool matches(const QString &searchKeyWord) const; @@ -34,9 +34,9 @@ public: void setCurrentIndex(int currentIndex); Q_SIGNALS: - void displayNameChanged(); - void iconChanged(); - void pagesChanged(); + void displayNameChanged(const QString &displayName); + void iconChanged(const QIcon &icon); + void pagesChanged(const QList &pages); private: QString m_displayName; @@ -58,8 +58,7 @@ inline const QString &OptionCategory::displayName() const */ inline void OptionCategory::setDisplayName(const QString &displayName) { - m_displayName = displayName; - emit displayNameChanged(); + emit displayNameChanged(m_displayName = displayName); } /*! @@ -75,14 +74,13 @@ inline const QIcon &OptionCategory::icon() const */ inline void OptionCategory::setIcon(const QIcon &icon) { - m_icon = icon; - emit iconChanged(); + emit iconChanged(m_icon = icon); } /*! * \brief Returns the assigned pages. */ -inline const QList OptionCategory::pages() const +inline const QList &OptionCategory::pages() const { return m_pages; } diff --git a/settingsdialog/optioncategorymodel.cpp b/settingsdialog/optioncategorymodel.cpp index b21a577..7a52053 100644 --- a/settingsdialog/optioncategorymodel.cpp +++ b/settingsdialog/optioncategorymodel.cpp @@ -47,7 +47,7 @@ OptionCategoryModel::~OptionCategoryModel() * * The model takes ownership over the given \a categories. */ -void OptionCategoryModel::setCategories(const QList categories) +void OptionCategoryModel::setCategories(const QList &categories) { beginResetModel(); qDeleteAll(m_categories); @@ -97,7 +97,7 @@ void OptionCategoryModel::categoryChangedName() for (int i = 0, end = m_categories.size(); i < end; ++i) { if (senderCategory == m_categories.at(i)) { QModelIndex index = this->index(i); - emit dataChanged(index, index, QVector() << Qt::DisplayRole); + emit dataChanged(index, index, QVector({ Qt::DisplayRole })); } } } @@ -112,7 +112,7 @@ void OptionCategoryModel::categoryChangedIcon() for (int i = 0, end = m_categories.size(); i < end; ++i) { if (senderCategory == m_categories.at(i)) { QModelIndex index = this->index(i); - emit dataChanged(index, index, QVector() << Qt::DecorationRole); + emit dataChanged(index, index, QVector({ Qt::DecorationRole })); } } } diff --git a/settingsdialog/optioncategorymodel.h b/settingsdialog/optioncategorymodel.h index 356179d..d61e411 100644 --- a/settingsdialog/optioncategorymodel.h +++ b/settingsdialog/optioncategorymodel.h @@ -21,7 +21,7 @@ public: const QList &categories() const; OptionCategory *category(const QModelIndex &index) const; OptionCategory *category(int row) const; - void setCategories(const QList categories); + void setCategories(const QList &categories); int rowCount(const QModelIndex &parent = QModelIndex()) const override; QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; diff --git a/settingsdialog/settingsdialog.cpp b/settingsdialog/settingsdialog.cpp index 23bbd4f..14bb246 100644 --- a/settingsdialog/settingsdialog.cpp +++ b/settingsdialog/settingsdialog.cpp @@ -172,7 +172,7 @@ void SettingsDialog::setSingleCategory(OptionCategory *singleCategory) m_ui->headingLabel->setHidden(hasSingleCategory); if (hasSingleCategory) { m_ui->filterLineEdit->clear(); - categoryModel()->setCategories(QList() << singleCategory); + categoryModel()->setCategories(QList({ singleCategory })); showCategory(singleCategory); } }