mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-02-27 18:41:10 +00:00
[Qt] fix small buttons/missing icons in the toolbar (Doppelgänger) (#3413)
* Qt: use lambda for colorizedIcon in main_window and game_list_frame * Qt: enable AA_UseHighDpiPixmaps for better looking icons * Qt: use iconSize instead of sizehint for linux, add some comments
This commit is contained in:
parent
4b9fa8ec6d
commit
f0358f85fc
@ -23,7 +23,12 @@ int main(int argc, char** argv)
|
|||||||
logs::set_init();
|
logs::set_init();
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
// use this instead of SetProcessDPIAware if Qt ever fully supports this on windows
|
||||||
|
// at the moment it can't display QCombobox frames for example
|
||||||
|
// I think there was an issue with gsframe if I recall correctly, so look out for that
|
||||||
|
//QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
||||||
SetProcessDPIAware();
|
SetProcessDPIAware();
|
||||||
|
|
||||||
WSADATA wsa_data;
|
WSADATA wsa_data;
|
||||||
WSAStartup(MAKEWORD(2, 2), &wsa_data);
|
WSAStartup(MAKEWORD(2, 2), &wsa_data);
|
||||||
timeBeginPeriod(1);
|
timeBeginPeriod(1);
|
||||||
@ -37,6 +42,8 @@ int main(int argc, char** argv)
|
|||||||
qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "1");
|
qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "1");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
|
||||||
|
|
||||||
rpcs3_app app(argc, argv);
|
rpcs3_app app(argc, argv);
|
||||||
|
|
||||||
// Command line args
|
// Command line args
|
||||||
|
@ -886,23 +886,28 @@ void game_list_frame::RepaintToolBarIcons()
|
|||||||
newColor = GUI::get_Label_Color("gamelist_toolbar_icon_color");
|
newColor = GUI::get_Label_Color("gamelist_toolbar_icon_color");
|
||||||
}
|
}
|
||||||
|
|
||||||
m_catActHDD.colored = gui_settings::colorizedIcon(QIcon(":/Icons/hdd_blue.png"), GUI::gl_tool_icon_color, newColor, true);
|
auto icon = [&newColor](const QString& path, bool mask = false)
|
||||||
m_catActDisc.colored = gui_settings::colorizedIcon(QIcon(":/Icons/disc_blue.png"), GUI::gl_tool_icon_color, newColor, true);
|
{
|
||||||
m_catActHome.colored = gui_settings::colorizedIcon(QIcon(":/Icons/home_blue.png"), GUI::gl_tool_icon_color, newColor);
|
return gui_settings::colorizedIcon(QIcon(path), GUI::gl_tool_icon_color, newColor, mask);
|
||||||
m_catActAudioVideo.colored = gui_settings::colorizedIcon(QIcon(":/Icons/media_blue.png"), GUI::gl_tool_icon_color, newColor, true);
|
};
|
||||||
m_catActGameData.colored = gui_settings::colorizedIcon(QIcon(":/Icons/data_blue.png"), GUI::gl_tool_icon_color, newColor, true);
|
|
||||||
m_catActUnknown.colored = gui_settings::colorizedIcon(QIcon(":/Icons/unknown_blue.png"), GUI::gl_tool_icon_color, newColor, true);
|
m_catActHDD.colored = icon(":/Icons/hdd_blue.png", true);
|
||||||
m_catActOther.colored = gui_settings::colorizedIcon(QIcon(":/Icons/other_blue.png"), GUI::gl_tool_icon_color, newColor);
|
m_catActDisc.colored = icon(":/Icons/disc_blue.png", true);
|
||||||
|
m_catActHome.colored = icon(":/Icons/home_blue.png");
|
||||||
|
m_catActAudioVideo.colored = icon(":/Icons/media_blue.png", true);
|
||||||
|
m_catActGameData.colored = icon(":/Icons/data_blue.png", true);
|
||||||
|
m_catActUnknown.colored = icon(":/Icons/unknown_blue.png", true);
|
||||||
|
m_catActOther.colored = icon(":/Icons/other_blue.png");
|
||||||
|
|
||||||
for (const auto& butt : m_categoryButtons)
|
for (const auto& butt : m_categoryButtons)
|
||||||
{
|
{
|
||||||
butt->action->setIcon(butt->isActive ? butt->colored : butt->gray);
|
butt->action->setIcon(butt->isActive ? butt->colored : butt->gray);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_modeActList.colored = gui_settings::colorizedIcon(QIcon(":/Icons/list_blue.png"), GUI::gl_tool_icon_color, newColor);
|
m_modeActList.colored = icon(":/Icons/list_blue.png");
|
||||||
m_modeActList.action->setIcon(m_isListLayout ? m_modeActList.colored : m_modeActList.gray);
|
m_modeActList.action->setIcon(m_isListLayout ? m_modeActList.colored : m_modeActList.gray);
|
||||||
|
|
||||||
m_modeActGrid.colored = gui_settings::colorizedIcon(QIcon(":/Icons/grid_blue.png"), GUI::gl_tool_icon_color, newColor);
|
m_modeActGrid.colored = icon(":/Icons/grid_blue.png");
|
||||||
m_modeActGrid.action->setIcon(m_isListLayout ? m_modeActGrid.gray : m_modeActGrid.colored);
|
m_modeActGrid.action->setIcon(m_isListLayout ? m_modeActGrid.gray : m_modeActGrid.colored);
|
||||||
|
|
||||||
m_Slider_Size->setStyleSheet(m_Slider_Size->styleSheet().append("QSlider::handle:horizontal{ background: rgba(%1, %2, %3, %4); }")
|
m_Slider_Size->setStyleSheet(m_Slider_Size->styleSheet().append("QSlider::handle:horizontal{ background: rgba(%1, %2, %3, %4); }")
|
||||||
|
@ -86,8 +86,13 @@ void main_window::Init()
|
|||||||
|
|
||||||
// for highdpi resize toolbar icons and height dynamically
|
// for highdpi resize toolbar icons and height dynamically
|
||||||
// choose factors to mimic Gui-Design in main_window.ui
|
// choose factors to mimic Gui-Design in main_window.ui
|
||||||
|
// TODO: in case Qt::AA_EnableHighDpiScaling is enabled in main.cpp we only need the else branch
|
||||||
|
#ifdef _WIN32
|
||||||
const int toolBarHeight = menuBar()->sizeHint().height() * 1.5;
|
const int toolBarHeight = menuBar()->sizeHint().height() * 1.5;
|
||||||
ui->toolBar->setIconSize(QSize(toolBarHeight, toolBarHeight));
|
ui->toolBar->setIconSize(QSize(toolBarHeight, toolBarHeight));
|
||||||
|
#else
|
||||||
|
const int toolBarHeight = ui->toolBar->iconSize().height();
|
||||||
|
#endif
|
||||||
ui->sizeSliderContainer->setFixedWidth(toolBarHeight * 5);
|
ui->sizeSliderContainer->setFixedWidth(toolBarHeight * 5);
|
||||||
ui->sizeSlider->setFixedHeight(toolBarHeight * 0.65f);
|
ui->sizeSlider->setFixedHeight(toolBarHeight * 0.65f);
|
||||||
|
|
||||||
@ -714,22 +719,27 @@ void main_window::RepaintToolBarIcons()
|
|||||||
newColor = GUI::get_Label_Color("toolbar_icon_color");
|
newColor = GUI::get_Label_Color("toolbar_icon_color");
|
||||||
}
|
}
|
||||||
|
|
||||||
m_icon_play = gui_settings::colorizedIcon(QIcon(":/Icons/play.png"), GUI::mw_tool_icon_color, newColor);
|
auto icon = [&newColor](const QString& path)
|
||||||
m_icon_pause = gui_settings::colorizedIcon(QIcon(":/Icons/pause.png"), GUI::mw_tool_icon_color, newColor);
|
{
|
||||||
m_icon_stop = gui_settings::colorizedIcon(QIcon(":/Icons/stop.png"), GUI::mw_tool_icon_color, newColor);
|
return gui_settings::colorizedIcon(QIcon(path), GUI::mw_tool_icon_color, newColor);
|
||||||
m_icon_restart = gui_settings::colorizedIcon(QIcon(":/Icons/restart.png"), GUI::mw_tool_icon_color, newColor);
|
};
|
||||||
m_icon_fullscreen_on = gui_settings::colorizedIcon(QIcon(":/Icons/fullscreen.png"), GUI::mw_tool_icon_color, newColor);
|
|
||||||
m_icon_fullscreen_off = gui_settings::colorizedIcon(QIcon(":/Icons/fullscreen_invert.png"), GUI::mw_tool_icon_color, newColor);
|
|
||||||
|
|
||||||
ui->toolbar_config->setIcon(gui_settings::colorizedIcon(QIcon(":/Icons/configure.png"), GUI::mw_tool_icon_color, newColor));
|
m_icon_play = icon(":/Icons/play.png");
|
||||||
ui->toolbar_controls->setIcon(gui_settings::colorizedIcon(QIcon(":/Icons/controllers.png"), GUI::mw_tool_icon_color, newColor));
|
m_icon_pause = icon(":/Icons/pause.png");
|
||||||
ui->toolbar_disc->setIcon(gui_settings::colorizedIcon(QIcon(":/Icons/disc.png"), GUI::mw_tool_icon_color, newColor));
|
m_icon_stop = icon(":/Icons/stop.png");
|
||||||
ui->toolbar_grid->setIcon(gui_settings::colorizedIcon(QIcon(":/Icons/grid.png"), GUI::mw_tool_icon_color, newColor));
|
m_icon_restart = icon(":/Icons/restart.png");
|
||||||
ui->toolbar_list->setIcon(gui_settings::colorizedIcon(QIcon(":/Icons/list.png"), GUI::mw_tool_icon_color, newColor));
|
m_icon_fullscreen_on = icon(":/Icons/fullscreen.png");
|
||||||
ui->toolbar_refresh->setIcon(gui_settings::colorizedIcon(QIcon(":/Icons/refresh.png"), GUI::mw_tool_icon_color, newColor));
|
m_icon_fullscreen_off = icon(":/Icons/fullscreen_invert.png");
|
||||||
ui->toolbar_snap->setIcon(gui_settings::colorizedIcon(QIcon(":/Icons/screenshot.png"), GUI::mw_tool_icon_color, newColor));
|
|
||||||
ui->toolbar_sort->setIcon(gui_settings::colorizedIcon(QIcon(":/Icons/sort.png"), GUI::mw_tool_icon_color, newColor));
|
ui->toolbar_config ->setIcon(icon(":/Icons/configure.png"));
|
||||||
ui->toolbar_stop->setIcon(gui_settings::colorizedIcon(QIcon(":/Icons/stop.png"), GUI::mw_tool_icon_color, newColor));
|
ui->toolbar_controls->setIcon(icon(":/Icons/controllers.png"));
|
||||||
|
ui->toolbar_disc ->setIcon(icon(":/Icons/disc.png"));
|
||||||
|
ui->toolbar_grid ->setIcon(icon(":/Icons/grid.png"));
|
||||||
|
ui->toolbar_list ->setIcon(icon(":/Icons/list.png"));
|
||||||
|
ui->toolbar_refresh ->setIcon(icon(":/Icons/refresh.png"));
|
||||||
|
ui->toolbar_snap ->setIcon(icon(":/Icons/screenshot.png"));
|
||||||
|
ui->toolbar_sort ->setIcon(icon(":/Icons/sort.png"));
|
||||||
|
ui->toolbar_stop ->setIcon(icon(":/Icons/stop.png"));
|
||||||
|
|
||||||
if (Emu.IsRunning())
|
if (Emu.IsRunning())
|
||||||
{
|
{
|
||||||
|
@ -141,7 +141,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>1058</width>
|
<width>1058</width>
|
||||||
<height>21</height>
|
<height>36</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="contextMenuPolicy">
|
<property name="contextMenuPolicy">
|
||||||
@ -285,6 +285,12 @@
|
|||||||
<addaction name="menuHelp"/>
|
<addaction name="menuHelp"/>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QToolBar" name="toolBar">
|
<widget class="QToolBar" name="toolBar">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
<property name="contextMenuPolicy">
|
<property name="contextMenuPolicy">
|
||||||
<enum>Qt::PreventContextMenu</enum>
|
<enum>Qt::PreventContextMenu</enum>
|
||||||
</property>
|
</property>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user