diff options
author | Hannah von Reth <hannah.vonreth@owncloud.com> | 2021-05-11 12:15:35 +0300 |
---|---|---|
committer | Hannah von Reth <vonreth@kde.org> | 2021-05-26 17:57:02 +0300 |
commit | f9dbdd4420a21eaba24f0c70d9bf702e346bde06 (patch) | |
tree | 8964d438858311be50f99115e6bb3b6ca22e1da6 /src | |
parent | f53341b1bbcfbf49ad66728355629b74c165e5df (diff) |
Sort account list
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/accountmanager.cpp | 11 | ||||
-rw-r--r-- | src/gui/accountmanager.h | 5 | ||||
-rw-r--r-- | src/gui/activitywidget.cpp | 7 | ||||
-rw-r--r-- | src/gui/protocolwidget.cpp | 7 |
4 files changed, 18 insertions, 12 deletions
diff --git a/src/gui/accountmanager.cpp b/src/gui/accountmanager.cpp index 5883a8f31..b1b6a405c 100644 --- a/src/gui/accountmanager.cpp +++ b/src/gui/accountmanager.cpp @@ -227,6 +227,17 @@ void AccountManager::saveAccountState(AccountState *a) qCDebug(lcAccountManager) << "Saved account state settings, status:" << settings->status(); } +QStringList AccountManager::accountNames() const +{ + QStringList accounts; + accounts.reserve(AccountManager::instance()->accounts().size()); + for (const auto &a : AccountManager::instance()->accounts()) { + accounts << a->account()->displayName(); + } + std::sort(accounts.begin(), accounts.end()); + return accounts; +} + void AccountManager::saveAccountHelper(Account *acc, QSettings &settings, bool saveCredentials) { settings.setValue(QLatin1String(versionC), maxAccountVersion); diff --git a/src/gui/accountmanager.h b/src/gui/accountmanager.h index e7a77f5f9..41232127e 100644 --- a/src/gui/accountmanager.h +++ b/src/gui/accountmanager.h @@ -88,6 +88,11 @@ public: */ static void backwardMigrationSettingsKeys(QStringList *deleteKeys, QStringList *ignoreKeys); + /** + * Returns a sorted list of displayNames + */ + QStringList accountNames() const; + private: // saving and loading Account to settings void saveAccountHelper(Account *account, QSettings &settings, bool saveCredentials = true); diff --git a/src/gui/activitywidget.cpp b/src/gui/activitywidget.cpp index 4f0071c5e..466f3a4d5 100644 --- a/src/gui/activitywidget.cpp +++ b/src/gui/activitywidget.cpp @@ -109,12 +109,7 @@ ActivityWidget::ActivityWidget(QWidget *parent) connect(_ui->_activityList, &QListView::customContextMenuRequested, this, &ActivityWidget::slotItemContextMenu); _ui->_activityList->horizontalHeader()->setContextMenuPolicy(Qt::CustomContextMenu); connect(_ui->_activityList->horizontalHeader(), &QListView::customContextMenuRequested, this, [this] { - QStringList accounts; - accounts.reserve(AccountManager::instance()->accounts().size()); - for (const auto &a : AccountManager::instance()->accounts()) { - accounts << a->account()->displayName(); - } - Models::displayFilterDialog(accounts, _sortModel, static_cast<int>(ActivityListModel::ActivityRole::Account), Qt::DisplayRole, this); + Models::displayFilterDialog(AccountManager::instance()->accountNames().toList(), _sortModel, static_cast<int>(ActivityListModel::ActivityRole::Account), Qt::DisplayRole, this); }); connect(&_removeTimer, &QTimer::timeout, this, &ActivityWidget::slotCheckToCleanWidgets); diff --git a/src/gui/protocolwidget.cpp b/src/gui/protocolwidget.cpp index 4ea8cb9f6..f74a42003 100644 --- a/src/gui/protocolwidget.cpp +++ b/src/gui/protocolwidget.cpp @@ -80,12 +80,7 @@ ProtocolWidget::~ProtocolWidget() void ProtocolWidget::showHeaderContextMenu(QWidget *parent, QSortFilterProxyModel *model) { - QStringList accounts; - accounts.reserve(AccountManager::instance()->accounts().size()); - for (const auto &a : AccountManager::instance()->accounts()) { - accounts << a->account()->displayName(); - } - Models::displayFilterDialog(accounts, model, static_cast<int>(ProtocolItemModel::ProtocolItemRole::Account), Qt::DisplayRole, parent); + Models::displayFilterDialog(AccountManager::instance()->accountNames().toList(), model, static_cast<int>(ProtocolItemModel::ProtocolItemRole::Account), Qt::DisplayRole, parent); } void ProtocolWidget::showContextMenu(QWidget *parent, ProtocolItemModel *model, const QModelIndexList &items) |