mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-07-23 10:35:03 +00:00
change the way favorites are saved to match #3119
This commit is contained in:
parent
7e708befe3
commit
e67bffdbed
@ -241,7 +241,8 @@ bool GameGridFrame::IsValidCellSelected() {
|
|||||||
void GameGridFrame::SetFavoriteIcon(QWidget* parentWidget, QVector<GameInfo> m_games_,
|
void GameGridFrame::SetFavoriteIcon(QWidget* parentWidget, QVector<GameInfo> m_games_,
|
||||||
int gameCounter) {
|
int gameCounter) {
|
||||||
QString serialStr = QString::fromStdString(m_games_[gameCounter].serial);
|
QString serialStr = QString::fromStdString(m_games_[gameCounter].serial);
|
||||||
bool isFavorite = m_gui_settings->GetValue(gui::favorites, serialStr, false).toBool();
|
QList<QString> list = gui_settings::Var2List(m_gui_settings->GetValue(gui::favorites_list));
|
||||||
|
bool isFavorite = list.contains(serialStr);
|
||||||
|
|
||||||
QLabel* label = new QLabel(parentWidget);
|
QLabel* label = new QLabel(parentWidget);
|
||||||
label->setPixmap(QPixmap(":images/favorite_icon.png")
|
label->setPixmap(QPixmap(":images/favorite_icon.png")
|
||||||
@ -264,8 +265,9 @@ bool GameGridFrame::CompareWithFavorite(GameInfo a, GameInfo b) {
|
|||||||
std::string serial_b = b.serial;
|
std::string serial_b = b.serial;
|
||||||
QString serialStr_a = QString::fromStdString(a.serial);
|
QString serialStr_a = QString::fromStdString(a.serial);
|
||||||
QString serialStr_b = QString::fromStdString(b.serial);
|
QString serialStr_b = QString::fromStdString(b.serial);
|
||||||
bool isFavorite_a = m_gui_settings->GetValue(gui::favorites, serialStr_a, false).toBool();
|
QList<QString> list = gui_settings::Var2List(m_gui_settings->GetValue(gui::favorites_list));
|
||||||
bool isFavorite_b = m_gui_settings->GetValue(gui::favorites, serialStr_b, false).toBool();
|
bool isFavorite_a = list.contains(serialStr_a);
|
||||||
|
bool isFavorite_b = list.contains(serialStr_b);
|
||||||
if (isFavorite_a != isFavorite_b) {
|
if (isFavorite_a != isFavorite_b) {
|
||||||
return isFavorite_a;
|
return isFavorite_a;
|
||||||
} else {
|
} else {
|
||||||
|
@ -96,9 +96,16 @@ GameListFrame::GameListFrame(std::shared_ptr<gui_settings> gui_settings,
|
|||||||
QUrl(url_issues + m_game_info->m_games[row].compatibility.issue_number));
|
QUrl(url_issues + m_game_info->m_games[row].compatibility.issue_number));
|
||||||
} else if (column == 10) {
|
} else if (column == 10) {
|
||||||
last_favorite = m_game_info->m_games[row].serial;
|
last_favorite = m_game_info->m_games[row].serial;
|
||||||
QString serialStr = QString::fromStdString(m_game_info->m_games[row].serial);
|
QString serialStr = QString::fromStdString(last_favorite);
|
||||||
bool isFavorite = m_gui_settings->GetValue(gui::favorites, serialStr, false).toBool();
|
QList<QString> list =
|
||||||
m_gui_settings->SetValue(gui::favorites, serialStr, !isFavorite, true);
|
gui_settings::Var2List(m_gui_settings->GetValue(gui::favorites_list));
|
||||||
|
bool isFavorite = list.contains(serialStr);
|
||||||
|
if (isFavorite) {
|
||||||
|
list.removeOne(serialStr);
|
||||||
|
} else {
|
||||||
|
list.append(serialStr);
|
||||||
|
}
|
||||||
|
m_gui_settings->SetValue(gui::favorites_list, gui_settings::List2Var(list));
|
||||||
PopulateGameList(false);
|
PopulateGameList(false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -250,8 +257,9 @@ bool GameListFrame::CompareWithFavorite(GameInfo a, GameInfo b, int columnIndex,
|
|||||||
std::string serial_b = b.serial;
|
std::string serial_b = b.serial;
|
||||||
QString serialStr_a = QString::fromStdString(a.serial);
|
QString serialStr_a = QString::fromStdString(a.serial);
|
||||||
QString serialStr_b = QString::fromStdString(b.serial);
|
QString serialStr_b = QString::fromStdString(b.serial);
|
||||||
bool isFavorite_a = m_gui_settings->GetValue(gui::favorites, serialStr_a, false).toBool();
|
QList<QString> list = gui_settings::Var2List(m_gui_settings->GetValue(gui::favorites_list));
|
||||||
bool isFavorite_b = m_gui_settings->GetValue(gui::favorites, serialStr_b, false).toBool();
|
bool isFavorite_a = list.contains(serialStr_a);
|
||||||
|
bool isFavorite_b = list.contains(serialStr_b);
|
||||||
if (isFavorite_a != isFavorite_b) {
|
if (isFavorite_a != isFavorite_b) {
|
||||||
return isFavorite_a;
|
return isFavorite_a;
|
||||||
} else if (ascending) {
|
} else if (ascending) {
|
||||||
@ -439,8 +447,10 @@ void GameListFrame::SetRegionFlag(int row, int column, QString itemStr) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void GameListFrame::SetFavoriteIcon(int row, int column) {
|
void GameListFrame::SetFavoriteIcon(int row, int column) {
|
||||||
|
|
||||||
QString serialStr = QString::fromStdString(m_game_info->m_games[row].serial);
|
QString serialStr = QString::fromStdString(m_game_info->m_games[row].serial);
|
||||||
bool isFavorite = m_gui_settings->GetValue(gui::favorites, serialStr, false).toBool();
|
QList<QString> list = gui_settings::Var2List(m_gui_settings->GetValue(gui::favorites_list));
|
||||||
|
bool isFavorite = list.contains(serialStr);
|
||||||
|
|
||||||
QTableWidgetItem* item = new QTableWidgetItem();
|
QTableWidgetItem* item = new QTableWidgetItem();
|
||||||
QImage scaledPixmap = QImage(":images/favorite_icon.png");
|
QImage scaledPixmap = QImage(":images/favorite_icon.png");
|
||||||
|
@ -67,8 +67,8 @@ public:
|
|||||||
menu.addMenu(openFolderMenu);
|
menu.addMenu(openFolderMenu);
|
||||||
|
|
||||||
QString serialStr = QString::fromStdString(m_games[itemID].serial);
|
QString serialStr = QString::fromStdString(m_games[itemID].serial);
|
||||||
bool isFavorite = m_gui_settings->GetValue(gui::favorites, serialStr, false).toBool();
|
QList<QString> list = gui_settings::Var2List(m_gui_settings->GetValue(gui::favorites_list));
|
||||||
|
bool isFavorite = list.contains(serialStr);
|
||||||
QAction* toggleFavorite;
|
QAction* toggleFavorite;
|
||||||
|
|
||||||
if (isFavorite) {
|
if (isFavorite) {
|
||||||
@ -316,7 +316,12 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (selected == toggleFavorite) {
|
if (selected == toggleFavorite) {
|
||||||
m_gui_settings->SetValue(gui::favorites, serialStr, !isFavorite, true);
|
if (isFavorite) {
|
||||||
|
list.removeOne(serialStr);
|
||||||
|
} else {
|
||||||
|
list.append(serialStr);
|
||||||
|
}
|
||||||
|
m_gui_settings->SetValue(gui::favorites_list, gui_settings::List2Var(list));
|
||||||
changedFavorite = 1;
|
changedFavorite = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,6 +42,10 @@ const gui_value gl_backgroundMusicVolume = gui_value(game_list, "backgroundMusic
|
|||||||
const gui_value gg_icon_size = gui_value(game_grid, "icon_size", 69);
|
const gui_value gg_icon_size = gui_value(game_grid, "icon_size", 69);
|
||||||
const gui_value gg_slider_pos = gui_value(game_grid, "slider_pos", 0);
|
const gui_value gg_slider_pos = gui_value(game_grid, "slider_pos", 0);
|
||||||
|
|
||||||
|
// favorites list
|
||||||
|
const gui_value favorites_list =
|
||||||
|
gui_value(favorites, "favoritesList", QVariant::fromValue(QList<QString>()));
|
||||||
|
|
||||||
} // namespace gui
|
} // namespace gui
|
||||||
|
|
||||||
class gui_settings : public settings {
|
class gui_settings : public settings {
|
||||||
|
Loading…
Reference in New Issue
Block a user