summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorSepalani <sepalani@hotmail.fr>2023-04-26 12:48:59 +0400
committerSepalani <sepalani@hotmail.fr>2023-05-02 22:23:43 +0400
commit81ec90be9c2ef4342b50cf896f90c481721ddaee (patch)
treef34fbb89a470cb380155a9b9da72fa843befd076 /Source/Core
parent1a2dcc53f2d7a85b0d49e9d2b12d819a2f57b835 (diff)
GeckoCode: Add sort by enabled state
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp23
-rw-r--r--Source/Core/DolphinQt/Config/GeckoCodeWidget.h2
2 files changed, 25 insertions, 0 deletions
diff --git a/Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp b/Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp
index b94a544424..124bb20185 100644
--- a/Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp
+++ b/Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp
@@ -3,6 +3,7 @@
#include "DolphinQt/Config/GeckoCodeWidget.h"
+#include <algorithm>
#include <utility>
#include <QCursor>
@@ -257,6 +258,8 @@ void GeckoCodeWidget::OnContextMenuRequested()
QMenu menu;
menu.addAction(tr("Sort Alphabetically"), this, &GeckoCodeWidget::SortAlphabetically);
+ menu.addAction(tr("Show Enabled Codes First"), this, &GeckoCodeWidget::SortEnabledCodesFirst);
+ menu.addAction(tr("Show Disabled Codes First"), this, &GeckoCodeWidget::SortDisabledCodesFirst);
menu.exec(QCursor::pos());
}
@@ -267,6 +270,26 @@ void GeckoCodeWidget::SortAlphabetically()
OnListReordered();
}
+void GeckoCodeWidget::SortEnabledCodesFirst()
+{
+ std::stable_sort(m_gecko_codes.begin(), m_gecko_codes.end(), [](const auto& a, const auto& b) {
+ return a.enabled && a.enabled != b.enabled;
+ });
+
+ UpdateList();
+ SaveCodes();
+}
+
+void GeckoCodeWidget::SortDisabledCodesFirst()
+{
+ std::stable_sort(m_gecko_codes.begin(), m_gecko_codes.end(), [](const auto& a, const auto& b) {
+ return !a.enabled && a.enabled != b.enabled;
+ });
+
+ UpdateList();
+ SaveCodes();
+}
+
void GeckoCodeWidget::OnListReordered()
{
// Reorder codes based on the indices of table item
diff --git a/Source/Core/DolphinQt/Config/GeckoCodeWidget.h b/Source/Core/DolphinQt/Config/GeckoCodeWidget.h
index 7a5fe17667..a4312f7ec7 100644
--- a/Source/Core/DolphinQt/Config/GeckoCodeWidget.h
+++ b/Source/Core/DolphinQt/Config/GeckoCodeWidget.h
@@ -48,6 +48,8 @@ private:
void DownloadCodes();
void SaveCodes();
void SortAlphabetically();
+ void SortEnabledCodesFirst();
+ void SortDisabledCodesFirst();
std::string m_game_id;
std::string m_gametdb_id;