summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Config/ARCodeWidget.cpp
diff options
context:
space:
mode:
authorMai <mai.iam2048@gmail.com>2023-05-02 14:59:08 -0400
committerGitHub <noreply@github.com>2023-05-02 14:59:08 -0400
commit0b9b09ad3287445e23068b4d5a4cbd018f399515 (patch)
tree61cdc78fca4563c8ef14395c8e0fca5db03f763e /Source/Core/DolphinQt/Config/ARCodeWidget.cpp
parentddce941bf10a6d394371c9b33da0af3744036c75 (diff)
parent26355957374931e31bfd31a40fbe69a0ed66f262 (diff)
Merge pull request #11796 from sepalani/gecko-sort
Gecko/ARCode: Add sort by enabled state
Diffstat (limited to 'Source/Core/DolphinQt/Config/ARCodeWidget.cpp')
-rw-r--r--Source/Core/DolphinQt/Config/ARCodeWidget.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/Source/Core/DolphinQt/Config/ARCodeWidget.cpp b/Source/Core/DolphinQt/Config/ARCodeWidget.cpp
index 6a18a16937..667f9373c1 100644
--- a/Source/Core/DolphinQt/Config/ARCodeWidget.cpp
+++ b/Source/Core/DolphinQt/Config/ARCodeWidget.cpp
@@ -3,6 +3,7 @@
#include "DolphinQt/Config/ARCodeWidget.h"
+#include <algorithm>
#include <utility>
#include <QCursor>
@@ -113,6 +114,8 @@ void ARCodeWidget::OnContextMenuRequested()
QMenu menu;
menu.addAction(tr("Sort Alphabetically"), this, &ARCodeWidget::SortAlphabetically);
+ menu.addAction(tr("Show Enabled Codes First"), this, &ARCodeWidget::SortEnabledCodesFirst);
+ menu.addAction(tr("Show Disabled Codes First"), this, &ARCodeWidget::SortDisabledCodesFirst);
menu.exec(QCursor::pos());
}
@@ -123,6 +126,26 @@ void ARCodeWidget::SortAlphabetically()
OnListReordered();
}
+void ARCodeWidget::SortEnabledCodesFirst()
+{
+ std::stable_sort(m_ar_codes.begin(), m_ar_codes.end(), [](const auto& a, const auto& b) {
+ return a.enabled && a.enabled != b.enabled;
+ });
+
+ UpdateList();
+ SaveCodes();
+}
+
+void ARCodeWidget::SortDisabledCodesFirst()
+{
+ std::stable_sort(m_ar_codes.begin(), m_ar_codes.end(), [](const auto& a, const auto& b) {
+ return !a.enabled && a.enabled != b.enabled;
+ });
+
+ UpdateList();
+ SaveCodes();
+}
+
void ARCodeWidget::OnListReordered()
{
// Reorder codes based on the indices of table item