GeckoCode: Add sort by enabled state

This commit is contained in:
Sepalani 2023-04-26 12:48:59 +04:00
parent 1a2dcc53f2
commit 81ec90be9c
2 changed files with 25 additions and 0 deletions

View File

@ -3,6 +3,7 @@
#include "DolphinQt/Config/GeckoCodeWidget.h" #include "DolphinQt/Config/GeckoCodeWidget.h"
#include <algorithm>
#include <utility> #include <utility>
#include <QCursor> #include <QCursor>
@ -257,6 +258,8 @@ void GeckoCodeWidget::OnContextMenuRequested()
QMenu menu; QMenu menu;
menu.addAction(tr("Sort Alphabetically"), this, &GeckoCodeWidget::SortAlphabetically); 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()); menu.exec(QCursor::pos());
} }
@ -267,6 +270,26 @@ void GeckoCodeWidget::SortAlphabetically()
OnListReordered(); 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() void GeckoCodeWidget::OnListReordered()
{ {
// Reorder codes based on the indices of table item // Reorder codes based on the indices of table item

View File

@ -48,6 +48,8 @@ private:
void DownloadCodes(); void DownloadCodes();
void SaveCodes(); void SaveCodes();
void SortAlphabetically(); void SortAlphabetically();
void SortEnabledCodesFirst();
void SortDisabledCodesFirst();
std::string m_game_id; std::string m_game_id;
std::string m_gametdb_id; std::string m_gametdb_id;