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 <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

View File

@ -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;