mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-04 22:11:26 +12:00
Qt: use seperate icon sizes for game list and game grid
This commit is contained in:
parent
e6cb4df877
commit
05fc49506a
4 changed files with 29 additions and 15 deletions
|
@ -27,7 +27,6 @@ game_list_frame::game_list_frame(std::shared_ptr<gui_settings> guiSettings, std:
|
|||
: custom_dock_widget(tr("Game List"), parent), xgui_settings(guiSettings), xemu_settings(emuSettings)
|
||||
{
|
||||
m_isListLayout = xgui_settings->GetValue(gui::gl_listMode).toBool();
|
||||
m_icon_size_index = xgui_settings->GetValue(gui::gl_iconSize).toInt();
|
||||
m_Margin_Factor = xgui_settings->GetValue(gui::gl_marginFactor).toReal();
|
||||
m_Text_Factor = xgui_settings->GetValue(gui::gl_textFactor).toReal();
|
||||
m_Icon_Color = xgui_settings->GetValue(gui::gl_iconColor).value<QColor>();
|
||||
|
@ -46,9 +45,7 @@ game_list_frame::game_list_frame(std::shared_ptr<gui_settings> guiSettings, std:
|
|||
m_Game_Dock->setWindowFlags(Qt::Widget);
|
||||
setWidget(m_Game_Dock);
|
||||
|
||||
bool showText = m_icon_size_index < gui::gl_max_slider_pos;
|
||||
m_Icon_Size = sizeFromSlider(m_icon_size_index);
|
||||
m_xgrid = new game_list_grid(m_Icon_Size, m_Icon_Color, m_Margin_Factor, m_Text_Factor, showText);
|
||||
m_xgrid = new game_list_grid(QSize(), m_Icon_Color, m_Margin_Factor, m_Text_Factor, false);
|
||||
|
||||
m_gameList = new game_list();
|
||||
m_gameList->setShowGrid(false);
|
||||
|
|
|
@ -127,6 +127,7 @@ namespace gui
|
|||
const gui_save gl_sortCol = gui_save(game_list, "sortCol", 1);
|
||||
const gui_save gl_state = gui_save(game_list, "state", QByteArray());
|
||||
const gui_save gl_iconSize = gui_save(game_list, "iconSize", get_Index(gl_icon_size_small));
|
||||
const gui_save gl_iconSizeGrid = gui_save(game_list, "iconSizeGrid", get_Index(gl_icon_size_small));
|
||||
const gui_save gl_iconColor = gui_save(game_list, "iconColor", gl_icon_color);
|
||||
const gui_save gl_listMode = gui_save(game_list, "listMode", true);
|
||||
const gui_save gl_textFactor = gui_save(game_list, "textFactor", (qreal) 2.0);
|
||||
|
|
|
@ -84,7 +84,6 @@ void main_window::Init()
|
|||
// add toolbar widgets (crappy Qt designer is not able to)
|
||||
ui->toolBar->setObjectName("mw_toolbar");
|
||||
ui->sizeSlider->setRange(0, gui::gl_max_slider_pos);
|
||||
ui->sizeSlider->setSliderPosition(guiSettings->GetValue(gui::gl_iconSize).toInt());
|
||||
ui->toolBar->addWidget(ui->sizeSliderContainer);
|
||||
ui->toolBar->addSeparator();
|
||||
ui->toolBar->addWidget(ui->mw_searchbar);
|
||||
|
@ -1238,7 +1237,7 @@ void main_window::CreateConnects()
|
|||
if (m_save_slider_pos)
|
||||
{
|
||||
m_save_slider_pos = false;
|
||||
guiSettings->SetValue(gui::gl_iconSize, index);
|
||||
guiSettings->SetValue(m_is_list_mode ? gui::gl_iconSize : gui::gl_iconSizeGrid, index);
|
||||
}
|
||||
m_gameListFrame->ResizeIcons(index);
|
||||
};
|
||||
|
@ -1270,9 +1269,17 @@ void main_window::CreateConnects()
|
|||
|
||||
connect(m_listModeActGroup, &QActionGroup::triggered, [=](QAction* act)
|
||||
{
|
||||
bool isList = act == ui->setlistModeListAct;
|
||||
m_gameListFrame->SetListMode(isList);
|
||||
m_categoryVisibleActGroup->setEnabled(isList);
|
||||
bool is_list_act = act == ui->setlistModeListAct;
|
||||
if (is_list_act == m_is_list_mode)
|
||||
return;
|
||||
|
||||
int slider_pos = ui->sizeSlider->sliderPosition();
|
||||
ui->sizeSlider->setSliderPosition(m_other_slider_pos);
|
||||
m_other_slider_pos = slider_pos;
|
||||
|
||||
m_is_list_mode = is_list_act;
|
||||
m_gameListFrame->SetListMode(m_is_list_mode);
|
||||
m_categoryVisibleActGroup->setEnabled(m_is_list_mode);
|
||||
});
|
||||
|
||||
connect(ui->toolbar_disc, &QAction::triggered, this, &main_window::BootGame);
|
||||
|
@ -1300,7 +1307,10 @@ void main_window::CreateConnects()
|
|||
connect(ui->toolbar_grid, &QAction::triggered, [=]() { ui->setlistModeGridAct->trigger(); });
|
||||
|
||||
connect(ui->sizeSlider, &QSlider::valueChanged, resizeIcons);
|
||||
connect(ui->sizeSlider, &QSlider::sliderReleased, this, [&] { guiSettings->SetValue(gui::gl_iconSize, ui->sizeSlider->value()); });
|
||||
connect(ui->sizeSlider, &QSlider::sliderReleased, this, [&]
|
||||
{
|
||||
guiSettings->SetValue(m_is_list_mode ? gui::gl_iconSize : gui::gl_iconSizeGrid, ui->sizeSlider->value());
|
||||
});
|
||||
connect(ui->sizeSlider, &QSlider::actionTriggered, [&](int action)
|
||||
{
|
||||
if (action != QAbstractSlider::SliderNoAction && action != QAbstractSlider::SliderMove)
|
||||
|
@ -1433,14 +1443,18 @@ void main_window::ConfigureGuiFromSettings(bool configure_all)
|
|||
ui->showCatUnknownAct->setChecked(guiSettings->GetCategoryVisibility(Category::Unknown_Cat));
|
||||
ui->showCatOtherAct->setChecked(guiSettings->GetCategoryVisibility(Category::Others));
|
||||
|
||||
SetIconSizeActions(guiSettings->GetValue(gui::gl_iconSize).toInt());
|
||||
|
||||
bool isListMode = guiSettings->GetValue(gui::gl_listMode).toBool();
|
||||
if (isListMode)
|
||||
// handle icon size options
|
||||
m_is_list_mode = guiSettings->GetValue(gui::gl_listMode).toBool();
|
||||
if (m_is_list_mode)
|
||||
ui->setlistModeListAct->setChecked(true);
|
||||
else
|
||||
ui->setlistModeGridAct->setChecked(true);
|
||||
m_categoryVisibleActGroup->setEnabled(isListMode);
|
||||
m_categoryVisibleActGroup->setEnabled(m_is_list_mode);
|
||||
|
||||
int icon_size_index = guiSettings->GetValue(m_is_list_mode ? gui::gl_iconSize : gui::gl_iconSizeGrid).toInt();
|
||||
m_other_slider_pos = guiSettings->GetValue(!m_is_list_mode ? gui::gl_iconSize : gui::gl_iconSizeGrid).toInt();
|
||||
ui->sizeSlider->setSliderPosition(icon_size_index);
|
||||
SetIconSizeActions(icon_size_index);
|
||||
|
||||
if (configure_all)
|
||||
{
|
||||
|
|
|
@ -30,7 +30,9 @@ class main_window : public QMainWindow
|
|||
Ui::main_window *ui;
|
||||
|
||||
bool m_sys_menu_opened;
|
||||
bool m_is_list_mode = false;
|
||||
bool m_save_slider_pos = false;
|
||||
int m_other_slider_pos;
|
||||
|
||||
QIcon m_appIcon;
|
||||
QIcon m_icon_play;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue