diff --git a/src/settings/ProfileSettings.h b/src/settings/ProfileSettings.h --- a/src/settings/ProfileSettings.h +++ b/src/settings/ProfileSettings.h @@ -98,7 +98,7 @@ // updates the font of the items to match // their default / non-default profile status void updateDefaultItem(); - void updateItemsForProfile(const Profile::Ptr profile, QList &items) const; + void updateItemsForProfile(const Profile::Ptr profile,const QList &items) const; // updates the profile table to be in sync with the // session manager void populateTable(); diff --git a/src/settings/ProfileSettings.cpp b/src/settings/ProfileSettings.cpp --- a/src/settings/ProfileSettings.cpp +++ b/src/settings/ProfileSettings.cpp @@ -123,14 +123,14 @@ return; } - QList items; - items << _sessionModel->item(row, ProfileNameColumn); - items << _sessionModel->item(row, FavoriteStatusColumn); - items << _sessionModel->item(row, ShortcutColumn); - + const auto items = QList { + _sessionModel->item(row, ProfileNameColumn), + _sessionModel->item(row, FavoriteStatusColumn), + _sessionModel->item(row, ShortcutColumn) + }; updateItemsForProfile(profile, items); } -void ProfileSettings::updateItemsForProfile(const Profile::Ptr profile, QList& items) const +void ProfileSettings::updateItemsForProfile(const Profile::Ptr profile, const QList& items) const { // Profile Name items[ProfileNameColumn]->setText(profile->name()); @@ -143,17 +143,14 @@ items[ProfileNameColumn]->setEditable(false); // Favorite Status - const bool isFavorite = ProfileManager::instance()->findFavorites().contains(profile); - if (isFavorite) { - items[FavoriteStatusColumn]->setData(QIcon::fromTheme(QStringLiteral("dialog-ok-apply")), Qt::DecorationRole); - } else { - items[FavoriteStatusColumn]->setData(QIcon(), Qt::DecorationRole); - } + const auto isFavorite = ProfileManager::instance()->findFavorites().contains(profile); + const auto icon = isFavorite ? QIcon::fromTheme(QStringLiteral("dialog-ok-apply")) : QIcon(); + items[FavoriteStatusColumn]->setData(icon, Qt::DecorationRole); items[FavoriteStatusColumn]->setData(QVariant::fromValue(profile), ProfileKeyRole); items[FavoriteStatusColumn]->setToolTip(i18nc("@info:tooltip", "Click to toggle status")); // Shortcut - QString shortcut = ProfileManager::instance()->shortcut(profile).toString(); + const auto shortcut = ProfileManager::instance()->shortcut(profile).toString(); items[ShortcutColumn]->setText(shortcut); items[ShortcutColumn]->setData(QVariant::fromValue(profile), ShortcutRole); items[ShortcutColumn]->setToolTip(i18nc("@info:tooltip", "Double click to change shortcut")); @@ -173,11 +170,12 @@ return; } - QList items; - items.reserve(3); - for (int i = 0; i < 3; i++) { - items.append(new QStandardItem); - } + // each _sessionModel row has three items. + const auto items = QList { + new QStandardItem(), + new QStandardItem(), + new QStandardItem() + }; updateItemsForProfile(profile, items); _sessionModel->appendRow(items); @@ -190,9 +188,9 @@ _sessionModel->clear(); // setup session table - _sessionModel->setHorizontalHeaderLabels(QStringList() << i18nc("@title:column Profile label", "Name") - << i18nc("@title:column Display profile in file menu", "Show") - << i18nc("@title:column Profile shortcut text", "Shortcut")); + _sessionModel->setHorizontalHeaderLabels({i18nc("@title:column Profile label", "Name"), + i18nc("@title:column Display profile in file menu", "Show"), + i18nc("@title:column Profile shortcut text", "Shortcut")}); QList profiles = ProfileManager::instance()->allProfiles(); ProfileManager::instance()->sortProfiles(profiles); @@ -294,33 +292,25 @@ { // setup a temporary profile which is a clone of the selected profile // or the default if no profile is selected - Profile::Ptr sourceProfile; - - Profile::Ptr selectedProfile = currentProfile(); - if (!selectedProfile) { - sourceProfile = ProfileManager::instance()->defaultProfile(); - } else { - sourceProfile = selectedProfile; - } + Profile::Ptr sourceProfile = currentProfile() ? currentProfile() : ProfileManager::instance()->defaultProfile(); Q_ASSERT(sourceProfile); - Profile::Ptr newProfile = Profile::Ptr(new Profile(ProfileManager::instance()->fallbackProfile())); + auto newProfile = Profile::Ptr(new Profile(ProfileManager::instance()->fallbackProfile())); newProfile->clone(sourceProfile, true); newProfile->setProperty(Profile::Name, i18nc("@item This will be used as part of the file name", "New Profile")); newProfile->setProperty(Profile::UntranslatedName, QStringLiteral("New Profile")); newProfile->setProperty(Profile::MenuIndex, QStringLiteral("0")); - QPointer dialog = new EditProfileDialog(this); - dialog.data()->setProfile(newProfile); - dialog.data()->selectProfileName(); + EditProfileDialog dialog(this); + dialog.setProfile(newProfile); + dialog.selectProfileName(); - if (dialog.data()->exec() == QDialog::Accepted) { + if (dialog.exec() == QDialog::Accepted) { ProfileManager::instance()->addProfile(newProfile); ProfileManager::instance()->setFavorite(newProfile, true); ProfileManager::instance()->changeProfile(newProfile, newProfile->setProperties()); } - delete dialog.data(); } void ProfileSettings::editSelected() {