diff options
Diffstat (limited to 'Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp')
| -rw-r--r-- | Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp | 23 |
1 files changed, 23 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 |
