diff --git a/rpcs3/main.cpp b/rpcs3/main.cpp index 513f437b62..55b4a904f0 100644 --- a/rpcs3/main.cpp +++ b/rpcs3/main.cpp @@ -23,7 +23,12 @@ int main(int argc, char** argv) logs::set_init(); #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(); + WSADATA wsa_data; WSAStartup(MAKEWORD(2, 2), &wsa_data); timeBeginPeriod(1); @@ -37,6 +42,8 @@ int main(int argc, char** argv) qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "1"); #endif + QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); + rpcs3_app app(argc, argv); // Command line args diff --git a/rpcs3/rpcs3qt/game_list_frame.cpp b/rpcs3/rpcs3qt/game_list_frame.cpp index 08291ad264..cac23136d4 100644 --- a/rpcs3/rpcs3qt/game_list_frame.cpp +++ b/rpcs3/rpcs3qt/game_list_frame.cpp @@ -886,23 +886,28 @@ void game_list_frame::RepaintToolBarIcons() 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); - 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); - 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_catActOther.colored = gui_settings::colorizedIcon(QIcon(":/Icons/other_blue.png"), GUI::gl_tool_icon_color, newColor); + auto icon = [&newColor](const QString& path, bool mask = false) + { + return gui_settings::colorizedIcon(QIcon(path), GUI::gl_tool_icon_color, newColor, mask); + }; + + m_catActHDD.colored = icon(":/Icons/hdd_blue.png", true); + 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) { 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_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_Slider_Size->setStyleSheet(m_Slider_Size->styleSheet().append("QSlider::handle:horizontal{ background: rgba(%1, %2, %3, %4); }") diff --git a/rpcs3/rpcs3qt/main_window.cpp b/rpcs3/rpcs3qt/main_window.cpp index 86f4267e0b..6bcc157262 100644 --- a/rpcs3/rpcs3qt/main_window.cpp +++ b/rpcs3/rpcs3qt/main_window.cpp @@ -86,8 +86,13 @@ void main_window::Init() // for highdpi resize toolbar icons and height dynamically // 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; ui->toolBar->setIconSize(QSize(toolBarHeight, toolBarHeight)); +#else + const int toolBarHeight = ui->toolBar->iconSize().height(); +#endif ui->sizeSliderContainer->setFixedWidth(toolBarHeight * 5); ui->sizeSlider->setFixedHeight(toolBarHeight * 0.65f); @@ -714,22 +719,27 @@ void main_window::RepaintToolBarIcons() newColor = GUI::get_Label_Color("toolbar_icon_color"); } - m_icon_play = gui_settings::colorizedIcon(QIcon(":/Icons/play.png"), GUI::mw_tool_icon_color, newColor); - 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); - 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); + auto icon = [&newColor](const QString& path) + { + return gui_settings::colorizedIcon(QIcon(path), GUI::mw_tool_icon_color, newColor); + }; - ui->toolbar_config->setIcon(gui_settings::colorizedIcon(QIcon(":/Icons/configure.png"), GUI::mw_tool_icon_color, newColor)); - ui->toolbar_controls->setIcon(gui_settings::colorizedIcon(QIcon(":/Icons/controllers.png"), GUI::mw_tool_icon_color, newColor)); - ui->toolbar_disc->setIcon(gui_settings::colorizedIcon(QIcon(":/Icons/disc.png"), GUI::mw_tool_icon_color, newColor)); - ui->toolbar_grid->setIcon(gui_settings::colorizedIcon(QIcon(":/Icons/grid.png"), GUI::mw_tool_icon_color, newColor)); - ui->toolbar_list->setIcon(gui_settings::colorizedIcon(QIcon(":/Icons/list.png"), GUI::mw_tool_icon_color, newColor)); - ui->toolbar_refresh->setIcon(gui_settings::colorizedIcon(QIcon(":/Icons/refresh.png"), GUI::mw_tool_icon_color, newColor)); - 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_stop->setIcon(gui_settings::colorizedIcon(QIcon(":/Icons/stop.png"), GUI::mw_tool_icon_color, newColor)); + m_icon_play = icon(":/Icons/play.png"); + m_icon_pause = icon(":/Icons/pause.png"); + m_icon_stop = icon(":/Icons/stop.png"); + m_icon_restart = icon(":/Icons/restart.png"); + m_icon_fullscreen_on = icon(":/Icons/fullscreen.png"); + m_icon_fullscreen_off = icon(":/Icons/fullscreen_invert.png"); + + ui->toolbar_config ->setIcon(icon(":/Icons/configure.png")); + 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()) { diff --git a/rpcs3/rpcs3qt/main_window.ui b/rpcs3/rpcs3qt/main_window.ui index fd0d6812c9..63d5d0d6fb 100644 --- a/rpcs3/rpcs3qt/main_window.ui +++ b/rpcs3/rpcs3qt/main_window.ui @@ -141,7 +141,7 @@ 0 0 1058 - 21 + 36 @@ -285,6 +285,12 @@ + + + 0 + 0 + + Qt::PreventContextMenu