mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-22 18:53:28 +01:00
Qt: add setting for save manager background icon colors + fix icon size
This commit is contained in:
parent
d4c635a83c
commit
2f12226ff9
@ -1,4 +1,4 @@
|
||||
#include "rpcs3_app.h"
|
||||
#include "rpcs3_app.h"
|
||||
|
||||
#include "rpcs3qt/qt_utils.h"
|
||||
|
||||
@ -371,6 +371,9 @@ void rpcs3_app::OnChangeStyleSheetRequest(const QString& path)
|
||||
// game list icon color
|
||||
"QLabel#gamelist_icon_background_color { color: rgba(240, 240, 240, 255); }"
|
||||
|
||||
// save manager icon color
|
||||
"QLabel#save_manager_icon_background_color { color: rgba(240, 240, 240, 255); }"
|
||||
|
||||
// tables
|
||||
"QTableWidget { alternate-background-color: #f2f2f2; background-color: #fff; border: none; }"
|
||||
"QTableWidget#game_grid { alternate-background-color: #f2f2f2; background-color: #fff; font-weight: 600; font-size: 8pt; font-family: Lucida Grande; color: rgba(51, 51, 51, 255); border: 0em solid white; }"
|
||||
|
@ -1,4 +1,4 @@
|
||||
#pragma once
|
||||
#pragma once
|
||||
|
||||
#include "Utilities/Log.h"
|
||||
|
||||
@ -225,8 +225,9 @@ namespace gui
|
||||
const gui_save tr_games_state = gui_save(trophy, "games_state", QByteArray());
|
||||
const gui_save tr_trophy_state = gui_save(trophy, "trophy_state", QByteArray());
|
||||
|
||||
const gui_save sd_geometry = gui_save(savedata, "geometry", QByteArray());
|
||||
const gui_save sd_icon_size = gui_save(savedata, "icon_size", 60);
|
||||
const gui_save sd_geometry = gui_save(savedata, "geometry", QByteArray());
|
||||
const gui_save sd_icon_size = gui_save(savedata, "icon_size", 60);
|
||||
const gui_save sd_icon_color = gui_save(savedata, "icon_color", gl_icon_color);
|
||||
|
||||
const gui_save um_geometry = gui_save(users, "geometry", QByteArray());
|
||||
const gui_save um_active_user = gui_save(users, "active_user", "00000001");
|
||||
|
@ -1321,8 +1321,9 @@ void main_window::CreateConnects()
|
||||
|
||||
connect(ui->confSavedataManagerAct, &QAction::triggered, [=]
|
||||
{
|
||||
save_manager_dialog* sdid = new save_manager_dialog(guiSettings);
|
||||
sdid->show();
|
||||
save_manager_dialog* save_manager = new save_manager_dialog(guiSettings);
|
||||
connect(this, &main_window::RequestTrophyManagerRepaint, save_manager, &save_manager_dialog::HandleRepaintUiRequest);
|
||||
save_manager->show();
|
||||
});
|
||||
|
||||
connect(ui->actionManage_Trophy_Data, &QAction::triggered, [=]
|
||||
|
@ -1,7 +1,8 @@
|
||||
#include "save_manager_dialog.h"
|
||||
#include "save_manager_dialog.h"
|
||||
|
||||
#include "save_data_info_dialog.h"
|
||||
#include "custom_table_widget_item.h"
|
||||
#include "qt_utils.h"
|
||||
|
||||
#include "Emu/System.h"
|
||||
#include "Emu/VFS.h"
|
||||
@ -232,6 +233,15 @@ void save_manager_dialog::UpdateList()
|
||||
|
||||
QVariantMap currNotes = m_gui_settings->GetValue(gui::m_saveNotes).toMap();
|
||||
|
||||
if (m_gui_settings->GetValue(gui::m_enableUIColors).toBool())
|
||||
{
|
||||
m_icon_color = m_gui_settings->GetValue(gui::sd_icon_color).value<QColor>();
|
||||
}
|
||||
else
|
||||
{
|
||||
m_icon_color = gui::utils::get_label_color("save_manager_icon_background_color");
|
||||
}
|
||||
|
||||
int row = 0;
|
||||
for (const SaveDataEntry& entry : m_save_entries)
|
||||
{
|
||||
@ -239,7 +249,8 @@ void save_manager_dialog::UpdateList()
|
||||
if (!icon.loadFromData(entry.iconBuf.data(), static_cast<uint>(entry.iconBuf.size())))
|
||||
{
|
||||
LOG_WARNING(GENERAL, "Loading icon for save %s failed", entry.dirName);
|
||||
icon.fill(Qt::transparent);
|
||||
icon = QPixmap(320, 176);
|
||||
icon.fill(m_icon_color);
|
||||
}
|
||||
|
||||
QString title = qstr(entry.title) + QStringLiteral("\n") + qstr(entry.subtitle);
|
||||
@ -290,6 +301,17 @@ void save_manager_dialog::UpdateList()
|
||||
resize(preferredSize.boundedTo(maxSize));
|
||||
}
|
||||
|
||||
void save_manager_dialog::HandleRepaintUiRequest()
|
||||
{
|
||||
const QSize window_size = size();
|
||||
const Qt::SortOrder sort_order = m_sort_ascending ? Qt::AscendingOrder : Qt::DescendingOrder;
|
||||
|
||||
UpdateList();
|
||||
|
||||
m_list->sortByColumn(m_sort_column, sort_order);
|
||||
resize(window_size);
|
||||
}
|
||||
|
||||
void save_manager_dialog::UpdateIcons()
|
||||
{
|
||||
const int dpr = devicePixelRatio();
|
||||
@ -306,7 +328,7 @@ void save_manager_dialog::UpdateIcons()
|
||||
|
||||
QPixmap icon = QPixmap(data.size() * dpr);
|
||||
icon.setDevicePixelRatio(dpr);
|
||||
icon.fill(Qt::transparent);
|
||||
icon.fill(m_icon_color);
|
||||
|
||||
QPainter painter(&icon);
|
||||
painter.drawPixmap(0, 0, data);
|
||||
|
@ -21,6 +21,8 @@ public:
|
||||
* There'll be some duplicated code. But, in the future, there'll be no duplicated code. So, I don't care.
|
||||
*/
|
||||
explicit save_manager_dialog(std::shared_ptr<gui_settings> gui_settings, std::string dir = "", QWidget* parent = nullptr);
|
||||
public Q_SLOTS:
|
||||
void HandleRepaintUiRequest();
|
||||
private Q_SLOTS:
|
||||
void OnEntryRemove();
|
||||
void OnEntriesRemove();
|
||||
@ -44,6 +46,7 @@ private:
|
||||
int m_sort_column;
|
||||
bool m_sort_ascending;
|
||||
QSize m_icon_size;
|
||||
QColor m_icon_color;
|
||||
|
||||
QLabel* m_details_icon = nullptr;
|
||||
QLabel* m_details_title = nullptr;
|
||||
|
@ -1280,6 +1280,7 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
|
||||
auto AddColoredIcons = [=]()
|
||||
{
|
||||
addColoredIcon(ui->pb_gl_icon_color, xgui_settings->GetValue(gui::gl_iconColor).value<QColor>());
|
||||
addColoredIcon(ui->pb_sd_icon_color, xgui_settings->GetValue(gui::sd_icon_color).value<QColor>());
|
||||
};
|
||||
AddColoredIcons();
|
||||
|
||||
@ -1292,6 +1293,7 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
|
||||
bool enableUIColors = xgui_settings->GetValue(gui::m_enableUIColors).toBool();
|
||||
ui->cb_custom_colors->setChecked(enableUIColors);
|
||||
ui->pb_gl_icon_color->setEnabled(enableUIColors);
|
||||
ui->pb_sd_icon_color->setEnabled(enableUIColors);
|
||||
|
||||
auto ApplyGuiOptions = [&](bool reset = false)
|
||||
{
|
||||
@ -1367,6 +1369,7 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
|
||||
{
|
||||
xgui_settings->SetValue(gui::m_enableUIColors, val);
|
||||
ui->pb_gl_icon_color->setEnabled(val);
|
||||
ui->pb_sd_icon_color->setEnabled(val);
|
||||
Q_EMIT GuiRepaintRequest();
|
||||
});
|
||||
auto colorDialog = [&](const gui_save& color, const QString& title, QPushButton *button)
|
||||
@ -1395,6 +1398,10 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
|
||||
{
|
||||
colorDialog(gui::gl_iconColor, tr("Choose gamelist icon color"), ui->pb_gl_icon_color);
|
||||
});
|
||||
connect(ui->pb_sd_icon_color, &QAbstractButton::clicked, [=]()
|
||||
{
|
||||
colorDialog(gui::sd_icon_color, tr("Choose save manager icon color"), ui->pb_sd_icon_color);
|
||||
});
|
||||
|
||||
AddConfigs();
|
||||
AddStylesheets();
|
||||
|
@ -2048,6 +2048,13 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pb_sd_icon_color">
|
||||
<property name="text">
|
||||
<string>Save manager icons</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_5">
|
||||
<property name="orientation">
|
||||
|
Loading…
Reference in New Issue
Block a user