Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge pull request #11796 from sepalani/gecko-sort
Gecko/ARCode: Add sort by enabled state
  • Loading branch information
lioncash committed May 2, 2023
2 parents ddce941 + 2635595 commit 0b9b09a
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 0 deletions.
23 changes: 23 additions & 0 deletions Source/Core/DolphinQt/Config/ARCodeWidget.cpp
Expand Up @@ -3,6 +3,7 @@

#include "DolphinQt/Config/ARCodeWidget.h"

#include <algorithm>
#include <utility>

#include <QCursor>
Expand Down Expand Up @@ -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());
}
Expand All @@ -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
Expand Down
2 changes: 2 additions & 0 deletions Source/Core/DolphinQt/Config/ARCodeWidget.h
Expand Up @@ -43,6 +43,8 @@ class ARCodeWidget : public QWidget
void UpdateList();
void SaveCodes();
void SortAlphabetically();
void SortEnabledCodesFirst();
void SortDisabledCodesFirst();

void OnCodeAddClicked();
void OnCodeEditClicked();
Expand Down
23 changes: 23 additions & 0 deletions Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp
Expand Up @@ -3,6 +3,7 @@

#include "DolphinQt/Config/GeckoCodeWidget.h"

#include <algorithm>
#include <utility>

#include <QCursor>
Expand Down Expand Up @@ -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());
}
Expand All @@ -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
Expand Down
2 changes: 2 additions & 0 deletions Source/Core/DolphinQt/Config/GeckoCodeWidget.h
Expand Up @@ -48,6 +48,8 @@ class GeckoCodeWidget : public QWidget
void DownloadCodes();
void SaveCodes();
void SortAlphabetically();
void SortEnabledCodesFirst();
void SortDisabledCodesFirst();

std::string m_game_id;
std::string m_gametdb_id;
Expand Down

0 comments on commit 0b9b09a

Please sign in to comment.