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:
authorHannah von Reth <hannah.vonreth@owncloud.com>2022-01-25 18:14:24 +0300
committerHannah von Reth <vonreth@kde.org>2022-01-26 17:18:23 +0300
commitcc3b63f9dea76f1b164ebb8f316745f5afa8213d (patch)
treedb03f8d459a13dbf4671d113600f472718c3f01b /src/gui/issueswidget.cpp
parentfae3a39cc235154e69c2fc6156d4de976a71ea2f (diff)
Introduce new error category that is not handled by the ignore list
Fixes: #9382
Diffstat (limited to 'src/gui/issueswidget.cpp')
-rw-r--r--src/gui/issueswidget.cpp28
1 files changed, 20 insertions, 8 deletions
diff --git a/src/gui/issueswidget.cpp b/src/gui/issueswidget.cpp
index 41a7b006a..e53c7d794 100644
--- a/src/gui/issueswidget.cpp
+++ b/src/gui/issueswidget.cpp
@@ -302,14 +302,15 @@ std::function<void(void)> IssuesWidget::addStatusFilter(QMenu *menu)
const auto initialFilter = _statusSortModel->filter();
{ // Add all errors under 1 action:
- const std::array<SyncFileItem::Status, 5> ErrorStatusItems = {
+ const std::vector<SyncFileItem::Status> ErrorStatusItems = {
SyncFileItem::Status::FatalError,
SyncFileItem::Status::NormalError,
SyncFileItem::Status::SoftError,
- SyncFileItem::Status::DetailError
+ SyncFileItem::Status::DetailError,
};
- auto action = menu->addAction(SyncFileItem::statusEnumDisplayName(SyncFileItem::NormalError), [this, ErrorStatusItems](bool checked) {
+
+ auto action = menu->addAction(SyncFileItem::statusEnumDisplayName(SyncFileItem::NormalError), this, [this, ErrorStatusItems](bool checked) {
auto currentFilter = _statusSortModel->filter();
for (const auto &item : ErrorStatusItems) {
currentFilter[item] = checked;
@@ -320,23 +321,34 @@ std::function<void(void)> IssuesWidget::addStatusFilter(QMenu *menu)
action->setChecked(initialFilter[ErrorStatusItems[0]]);
statusFilterGroup->addAction(action);
}
+ menu->addSeparator();
// Add the other non-error items:
- const std::array<SyncFileItem::Status, 5> OtherStatusItems = {
+ const std::vector<SyncFileItem::Status> OtherStatusItems = {
SyncFileItem::Status::Conflict,
SyncFileItem::Status::FileIgnored,
SyncFileItem::Status::Restoration,
SyncFileItem::Status::BlacklistedError,
- SyncFileItem::Status::Excluded
+ SyncFileItem::Status::Excluded,
+ SyncFileItem::Status::Message
};
+ // list of OtherStatusItems with the localised name
+ std::vector<std::pair<QString, SyncFileItem::Status>> otherStatusItems;
+ otherStatusItems.reserve(OtherStatusItems.size());
for (const auto &item : OtherStatusItems) {
- auto action = menu->addAction(SyncFileItem::statusEnumDisplayName(item), [this, item](bool checked) {
+ otherStatusItems.emplace_back(SyncFileItem::statusEnumDisplayName(item), item);
+ }
+ std::sort(otherStatusItems.begin(), otherStatusItems.end(), [](const auto &a, const auto &b) {
+ return a.first < b.first;
+ });
+ for (const auto &item : otherStatusItems) {
+ auto action = menu->addAction(item.first, this, [this, item](bool checked) {
auto currentFilter = _statusSortModel->filter();
- currentFilter[item] = checked;
+ currentFilter[item.second] = checked;
_statusSortModel->setFilter(currentFilter);
});
action->setCheckable(true);
- action->setChecked(initialFilter[item]);
+ action->setChecked(initialFilter[item.second]);
statusFilterGroup->addAction(action);
}