Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Verbruggen <erik@verbruggen.consulting>2022-03-11 16:29:33 +0300
committerHannah von Reth <vonreth@kde.org>2022-03-14 13:21:21 +0300
commit96ede25289e410b98af26a83b09045167bac9e01 (patch)
tree67f83e78ade0c0ffc9591c67eca95f1877593bac /src/gui/activitywidget.cpp
parentbfb6743cb507934bd508c7817705a21e085492b2 (diff)
Fix filter menus
- replaced "No filter" option text with "All", to avoid the "No filter is not enabled" situation - replace the "Filter" label on the button with "1 Filter"/"2 Filters" when a filter is active, so a user can immediately see that without having to open the filter pop-up
Diffstat (limited to 'src/gui/activitywidget.cpp')
-rw-r--r--src/gui/activitywidget.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gui/activitywidget.cpp b/src/gui/activitywidget.cpp
index 270d2aa97..2ae611419 100644
--- a/src/gui/activitywidget.cpp
+++ b/src/gui/activitywidget.cpp
@@ -59,7 +59,7 @@ ActivityWidget::ActivityWidget(QWidget *parent)
_ui->setupUi(this);
_model = new ActivityListModel(this);
- _sortModel = new QSortFilterProxyModel(this);
+ _sortModel = new SignalledQSortFilterProxyModel(this);
_sortModel->setSourceModel(_model);
_ui->_activityList->setModel(_sortModel);
_sortModel->setSortRole(Models::UnderlyingDataRole);
@@ -103,12 +103,16 @@ ActivityWidget::ActivityWidget(QWidget *parent)
header->setContextMenuPolicy(Qt::CustomContextMenu);
connect(header, &QListView::customContextMenuRequested, header, [header, this] {
auto menu = ProtocolWidget::showFilterMenu(header, _sortModel, static_cast<int>(ActivityListModel::ActivityRole::Account), tr("Account"));
+ menu->addSeparator();
header->addResetActionToMenu(menu);
});
connect(_ui->_filterButton, &QAbstractButton::clicked, this, [this] {
ProtocolWidget::showFilterMenu(_ui->_filterButton, _sortModel, static_cast<int>(ActivityListModel::ActivityRole::Account), tr("Account"));
});
+ connect(_sortModel, &SignalledQSortFilterProxyModel::filterChanged, [this]() {
+ _ui->_filterButton->setText(CommonStrings::filterButtonText(_sortModel->filterRegExp().isEmpty() ? 0 : 1));
+ });
connect(&_removeTimer, &QTimer::timeout, this, &ActivityWidget::slotCheckToCleanWidgets);
_removeTimer.setInterval(1000);