diff --git a/bin/GuiConfigs/Classic (Bright).qss b/bin/GuiConfigs/Classic (Bright).qss index f961e63e00..28060b20ff 100644 --- a/bin/GuiConfigs/Classic (Bright).qss +++ b/bin/GuiConfigs/Classic (Bright).qss @@ -147,6 +147,14 @@ QLabel#l_controller { color: #fff; } +/* Screenshot Manager */ +#screenshot_flow_widget #flow_widget_content { background: transparent; } +#screenshot_item { background: transparent; } +#screenshot_item[selected=\"true\"] { background: #0078D7; } +#screenshot_item:focus { background: #0078D7; } +#screenshot_item:hover { background: #008cff; } +#screenshot_item:hover:focus { background: #0078D7; } + /* Top menu bar (Workaround for transparent menus in Qt 6.7.3) */ QMenu { color: #000; diff --git a/bin/GuiConfigs/Darker Style by TheMitoSan.qss b/bin/GuiConfigs/Darker Style by TheMitoSan.qss index 8797ffd3c9..702fc2ef30 100644 --- a/bin/GuiConfigs/Darker Style by TheMitoSan.qss +++ b/bin/GuiConfigs/Darker Style by TheMitoSan.qss @@ -370,5 +370,13 @@ QTreeView::branch:open:has-children:has-siblings:hover { background-color: #0078D7; } +/* Screenshot Manager */ +#screenshot_flow_widget #flow_widget_content { background: transparent; } +#screenshot_item { background: transparent; } +#screenshot_item[selected=\"true\"] { background: #313f4e; } +#screenshot_item:focus { background: #0078D7; } +#screenshot_item:hover { background: #313f4e; } +#screenshot_item:hover:focus { background: #0078D7; } + /* Richtext link color */ QLabel#richtext_link_color { color: #87cefa; } diff --git a/bin/GuiConfigs/Envy.qss b/bin/GuiConfigs/Envy.qss index 3e2e1ddc35..79d004b5d6 100644 --- a/bin/GuiConfigs/Envy.qss +++ b/bin/GuiConfigs/Envy.qss @@ -676,5 +676,13 @@ QTreeView::branch:open:has-children:has-siblings:hover { color: #8cf944; } +/* Screenshot Manager */ +#screenshot_flow_widget #flow_widget_content { background: transparent; } +#screenshot_item { background: transparent; } +#screenshot_item[selected=\"true\"] { background: #2d3038; } +#screenshot_item:focus { background: #2d3038; } +#screenshot_item:hover { background: #2d3038; } +#screenshot_item:hover:focus { background: #2d3038; } + /* Richtext link color */ QLabel#richtext_link_color { color: #8cf944; } diff --git a/bin/GuiConfigs/Kuroi (Dark) by Ani.qss b/bin/GuiConfigs/Kuroi (Dark) by Ani.qss index ffa679ef20..8e85c90571 100644 --- a/bin/GuiConfigs/Kuroi (Dark) by Ani.qss +++ b/bin/GuiConfigs/Kuroi (Dark) by Ani.qss @@ -390,5 +390,13 @@ QTreeView::branch:open:has-children:has-siblings:hover { background-color: #4c4b4b; } +/* Screenshot Manager */ +#screenshot_flow_widget #flow_widget_content { background: transparent; } +#screenshot_item { background: transparent; } +#screenshot_item[selected=\"true\"] { background: #3d3d3d; } +#screenshot_item:focus { background: #4c4b4b; } +#screenshot_item:hover { background: #3d3d3d; } +#screenshot_item:hover:focus { background: #4c4b4b; } + /* Richtext link color */ QLabel#richtext_link_color { color: #87cefa; } diff --git a/bin/GuiConfigs/ModernBlue Theme by TheMitoSan.qss b/bin/GuiConfigs/ModernBlue Theme by TheMitoSan.qss index 96b84a9196..4daf9f3c8a 100644 --- a/bin/GuiConfigs/ModernBlue Theme by TheMitoSan.qss +++ b/bin/GuiConfigs/ModernBlue Theme by TheMitoSan.qss @@ -377,5 +377,13 @@ QTreeView::branch:open:has-children:has-siblings:hover { background-color: #0078D7; } +/* Screenshot Manager */ +#screenshot_flow_widget #flow_widget_content { background: transparent; } +#screenshot_item { background: transparent; } +#screenshot_item[selected=\"true\"] { background: #354454; } +#screenshot_item:focus { background: #0078D7; } +#screenshot_item:hover { background: #354454; } +#screenshot_item:hover:focus { background: #0078D7; } + /* Richtext link color */ QLabel#richtext_link_color { color: #87cefa; } diff --git a/bin/GuiConfigs/Nekotekina by GooseWing.qss b/bin/GuiConfigs/Nekotekina by GooseWing.qss index 93fadcdd68..dbee403fac 100755 --- a/bin/GuiConfigs/Nekotekina by GooseWing.qss +++ b/bin/GuiConfigs/Nekotekina by GooseWing.qss @@ -499,5 +499,13 @@ QWidget#trophy_notification_frame { color: #ffd785; } +/* Screenshot Manager */ +#screenshot_flow_widget #flow_widget_content { background: transparent; } +#screenshot_item { background: transparent; } +#screenshot_item[selected=\"true\"] { background: #615c51; } +#screenshot_item:focus { background: #4d4940; } +#screenshot_item:hover { background: #615c51; } +#screenshot_item:hover:focus { background: #4d4940; } + /* Richtext link color */ QLabel#richtext_link_color { color: #87cefa; } diff --git a/bin/GuiConfigs/Old Steam by FlexBy.qss b/bin/GuiConfigs/Old Steam by FlexBy.qss index 1e3543492b..98ff207e5f 100644 --- a/bin/GuiConfigs/Old Steam by FlexBy.qss +++ b/bin/GuiConfigs/Old Steam by FlexBy.qss @@ -1055,6 +1055,40 @@ QDockWidget::close-button:pressed { background-color: transparent; } +/* ========================================================================== */ +/* Screenshot Manager */ +/* ========================================================================== */ + +#screenshot_flow_widget #flow_widget_content { + background: transparent; +} + +#screenshot_item { + background-color: transparent; + border: 1px solid transparent; + border-radius: 0px; +} + +#screenshot_item:hover, +#screenshot_item[hover="true"] { + background-color: #4d5a46; + border-color: #66745d; +} + +#screenshot_item[selected="true"] { + background-color: #958831; + border-top: 1px solid #889576; + border-left: 1px solid #889576; + border-right: 1px solid #30382c; + border-bottom: 1px solid #30382c; +} + +#screenshot_item:focus, +#screenshot_item[focus="true"] { + background-color: #596b4c; + border: 1px solid #b7bf7a; +} + /* ========================================================================== */ /* LOG / TTY */ /* ========================================================================== */ diff --git a/bin/GuiConfigs/Skyline (Nightfall).qss b/bin/GuiConfigs/Skyline (Nightfall).qss index 4729a59173..56d8ca57ab 100644 --- a/bin/GuiConfigs/Skyline (Nightfall).qss +++ b/bin/GuiConfigs/Skyline (Nightfall).qss @@ -716,5 +716,13 @@ QTreeView::branch:open:has-children:has-siblings:hover { color: #2397ff; } +/* Screenshot Manager */ +#screenshot_flow_widget #flow_widget_content { background: transparent; } +#screenshot_item { background: transparent; } +#screenshot_item[selected=\"true\"] { background: #0f1d36; } +#screenshot_item:focus { background: #0f1d36; } +#screenshot_item:hover { background: #0f1d36; } +#screenshot_item:hover:focus { background: #0f1d36; } + /* Richtext link color */ QLabel#richtext_link_color { color: #0074e7; } diff --git a/bin/GuiConfigs/Skyline.qss b/bin/GuiConfigs/Skyline.qss index 1004dc0016..f467b2dbf8 100644 --- a/bin/GuiConfigs/Skyline.qss +++ b/bin/GuiConfigs/Skyline.qss @@ -694,3 +694,11 @@ QLabel#debugger_frame_pc { background-color: #4343c1; color: #FFF; } + +/* Screenshot Manager */ +#screenshot_flow_widget #flow_widget_content { background: transparent; } +#screenshot_item { background: transparent; } +#screenshot_item[selected=\"true\"] { background: #4343c1; } +#screenshot_item:focus { background: #4343c1; } +#screenshot_item:hover { background: #4343c1; } +#screenshot_item:hover:focus { background: #4343c1; } diff --git a/bin/GuiConfigs/Windows 11 (Dark Mode) by GustavoGraziano.qss b/bin/GuiConfigs/Windows 11 (Dark Mode) by GustavoGraziano.qss index 5bc0d14d19..dc33366f6f 100644 --- a/bin/GuiConfigs/Windows 11 (Dark Mode) by GustavoGraziano.qss +++ b/bin/GuiConfigs/Windows 11 (Dark Mode) by GustavoGraziano.qss @@ -6,9 +6,6 @@ */ - - - /* ----- GLOBAL QWIDGET ----- */ /* RESET */ @@ -978,6 +975,15 @@ QMainWindow QHeaderView::section:last { } +/* Screenshot Manager */ +#screenshot_flow_widget #flow_widget_content { background: transparent; } +#screenshot_item { background: transparent; } +#screenshot_item[selected=\"true\"] { background: #292929; } +#screenshot_item:focus { background: #292929; } +#screenshot_item:hover { background: #4D4D4D; } +#screenshot_item:hover:focus { background: #292929; } + + /* LOG TAB */ QTabBar#tab_bar_log::tab { text-transform: uppercase; @@ -1051,18 +1057,12 @@ QLabel#log_stack { } - - - /* ----- SETTINGS DIALOG ----- */ QDialog#settings_dialog QTabWidget::pane { margin-left: -8px; } - - - /* ----- PAD SETTINGS DIALOG ----- */ QDialog#pad_settings_dialog QTabWidget::pane { margin-left: -4px; @@ -1082,9 +1082,6 @@ QGroupBox#gb_l1, QGroupBox#gb_select, QGroupBox#gb_start, QGroupBox#gb_r1, QGrou } - - - /* PATCH MANAGER DIALOG */ QGroupBox#gb_patch_info QGroupBox { background-color: #202020; diff --git a/bin/GuiConfigs/Windows 11 (Light Mode) by GustavoGraziano.qss b/bin/GuiConfigs/Windows 11 (Light Mode) by GustavoGraziano.qss index 837383609e..e4b7c89bf8 100644 --- a/bin/GuiConfigs/Windows 11 (Light Mode) by GustavoGraziano.qss +++ b/bin/GuiConfigs/Windows 11 (Light Mode) by GustavoGraziano.qss @@ -6,9 +6,6 @@ */ - - - /* ----- GLOBAL QWIDGET ----- */ /* RESET */ @@ -978,6 +975,15 @@ QMainWindow QHeaderView::section:last { } +/* Screenshot Manager */ +#screenshot_flow_widget #flow_widget_content { background: transparent; } +#screenshot_item { background: transparent; } +#screenshot_item[selected=\"true\"] { background: #CCE8FF; } +#screenshot_item:focus { background: #CCE8FF; } +#screenshot_item:hover { background: #E5F3FF; } +#screenshot_item:hover:focus { background: #CCE8FF; } + + /* LOG TAB */ QTabBar#tab_bar_log::tab { text-transform: uppercase; @@ -1051,18 +1057,12 @@ QLabel#log_stack { } - - - /* ----- SETTINGS DIALOG ----- */ QDialog#settings_dialog QTabWidget::pane { margin-left: -8px; } - - - /* ----- PAD SETTINGS DIALOG ----- */ QDialog#pad_settings_dialog QTabWidget::pane { margin-left: -4px; @@ -1082,9 +1082,6 @@ QGroupBox#gb_l1, QGroupBox#gb_select, QGroupBox#gb_start, QGroupBox#gb_r1, QGrou } - - - /* PATCH MANAGER DIALOG */ QGroupBox#gb_patch_info QGroupBox { background-color: #F3F3F3; diff --git a/bin/GuiConfigs/YoRHa by Ani.qss b/bin/GuiConfigs/YoRHa by Ani.qss index 51f09897b1..8b248e4e34 100644 --- a/bin/GuiConfigs/YoRHa by Ani.qss +++ b/bin/GuiConfigs/YoRHa by Ani.qss @@ -476,3 +476,11 @@ QLabel#validLabel { #game_list_grid_item[focus="true"] #game_list_grid_item_title_label { color: #aea993; } + +/* Screenshot Manager */ +#screenshot_flow_widget #flow_widget_content { background: transparent; } +#screenshot_item { background: transparent; } +#screenshot_item[selected=\"true\"] { background: #4d4940; } +#screenshot_item:focus { background: #4d4940; } +#screenshot_item:hover { background: transparent; } +#screenshot_item:hover:focus { background: #4d4940; } diff --git a/rpcs3/rpcs3qt/screenshot_item.cpp b/rpcs3/rpcs3qt/screenshot_item.cpp index 9b6c2d342e..55293ee125 100644 --- a/rpcs3/rpcs3qt/screenshot_item.cpp +++ b/rpcs3/rpcs3qt/screenshot_item.cpp @@ -23,6 +23,7 @@ screenshot_item::screenshot_item(QWidget* parent, QSize icon_size, const QString { setObjectName("screenshot_item"); setFocusPolicy(Qt::StrongFocus); + setAttribute(Qt::WA_Hover); // We need to enable the hover attribute to ensure that hover events are handled. setToolTip(icon_path); cb_on_first_visibility = [this]() @@ -43,16 +44,14 @@ screenshot_item::screenshot_item(QWidget* parent, QSize icon_size, const QString m_label = new QLabel(this); m_label->setObjectName("screenshot_item_label"); m_label->setAttribute(Qt::WA_TransparentForMouseEvents); + m_label->setScaledContents(true); m_label->setPixmap(placeholder); - m_label->setFixedSize(m_icon_size); QVBoxLayout* layout = new QVBoxLayout(this); layout->setContentsMargins(3, 3, 3, 3); layout->setAlignment(Qt::AlignCenter); layout->addWidget(m_label); - setFixedSize(m_icon_size + QSize(6, 6)); - connect(this, &screenshot_item::signal_icon_update, this, &screenshot_item::update_icon, Qt::ConnectionType::QueuedConnection); } @@ -70,24 +69,6 @@ void screenshot_item::polish_style() update(); } -void screenshot_item::paintEvent(QPaintEvent* event) -{ - flow_widget_item::paintEvent(event); - - if (selected || hasFocus()) - { - QPainter painter(this); - painter.fillRect(rect(), palette().color(QPalette::Highlight)); - } - else if (m_hover) - { - QPainter painter(this); - QColor hover_color = palette().color(QPalette::Highlight); - hover_color.setAlpha(80); - painter.fillRect(rect(), hover_color); - } -} - void screenshot_item::update_icon(const QPixmap& pixmap) { if (m_label) diff --git a/rpcs3/rpcs3qt/screenshot_item.h b/rpcs3/rpcs3qt/screenshot_item.h index e7c3415c74..ddbdb7fd31 100644 --- a/rpcs3/rpcs3qt/screenshot_item.h +++ b/rpcs3/rpcs3qt/screenshot_item.h @@ -27,7 +27,6 @@ private: std::unique_ptr m_thread; protected: - void paintEvent(QPaintEvent* event) override; void mouseDoubleClickEvent(QMouseEvent* ev) override; void contextMenuEvent(QContextMenuEvent* ev) override; void keyPressEvent(QKeyEvent* ev) override; diff --git a/rpcs3/rpcs3qt/screenshot_manager_dialog.cpp b/rpcs3/rpcs3qt/screenshot_manager_dialog.cpp index 6ccdb5d566..a031921907 100644 --- a/rpcs3/rpcs3qt/screenshot_manager_dialog.cpp +++ b/rpcs3/rpcs3qt/screenshot_manager_dialog.cpp @@ -25,7 +25,7 @@ screenshot_manager_dialog::screenshot_manager_dialog(const std::vectorsetObjectName("flow_widget"); + m_flow_widget->setObjectName("screenshot_flow_widget"); m_placeholder = QPixmap(m_icon_size); m_placeholder.fill(Qt::gray); diff --git a/rpcs3/rpcs3qt/stylesheets.h b/rpcs3/rpcs3qt/stylesheets.h index 7396cec605..937a75b9be 100644 --- a/rpcs3/rpcs3qt/stylesheets.h +++ b/rpcs3/rpcs3qt/stylesheets.h @@ -41,6 +41,14 @@ namespace gui "#game_list_grid_item[hover=\"true\"] #game_list_grid_item_title_label { color: #fff; }" "#game_list_grid_item[focus=\"true\"] #game_list_grid_item_title_label { color: #fff; }" + // screenshot manager + "#screenshot_flow_widget #flow_widget_content { background: transparent; }" + "#screenshot_item { background: transparent; }" + "#screenshot_item[selected=\"true\"] { background: #148aff; }" + "#screenshot_item:focus { background: #148aff; }" + "#screenshot_item:hover { background: #94c9ff; }" + "#screenshot_item:hover:focus { background: #007fff; }" + // save manager icon color "QLabel#save_manager_icon_background_color { color: rgba(240, 240, 240, 255); }"