diff options
| author | Mai <mai.iam2048@gmail.com> | 2023-05-02 14:59:08 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-02 14:59:08 -0400 |
| commit | 0b9b09ad3287445e23068b4d5a4cbd018f399515 (patch) | |
| tree | 61cdc78fca4563c8ef14395c8e0fca5db03f763e /Source/Core/DolphinQt/Config/ARCodeWidget.cpp | |
| parent | ddce941bf10a6d394371c9b33da0af3744036c75 (diff) | |
| parent | 26355957374931e31bfd31a40fbe69a0ed66f262 (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.cpp | 23 |
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 |
