diff --git a/rpcs3/rpcs3.vcxproj b/rpcs3/rpcs3.vcxproj
index fe7ced0501..55bf90a3ce 100644
--- a/rpcs3/rpcs3.vcxproj
+++ b/rpcs3/rpcs3.vcxproj
@@ -1651,6 +1651,7 @@
.\QTGeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp
"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\QTGeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_WINEXTRAS_LIB -D%(PreprocessorDefinitions) "-I$(VULKAN_SDK)\Include" "-I.\.." "-I.\..\3rdparty\minidx12\Include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtQml" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I$(QTDIR)\mkspecs\win32-msvc2015" "-I.\QTGeneratedFiles\$(ConfigurationName)" "-I.\QTGeneratedFiles" "-I$(QTDIR)\include\QtWinExtras"
+
diff --git a/rpcs3/rpcs3.vcxproj.filters b/rpcs3/rpcs3.vcxproj.filters
index 35aefb7b1b..057c20848b 100644
--- a/rpcs3/rpcs3.vcxproj.filters
+++ b/rpcs3/rpcs3.vcxproj.filters
@@ -1,4 +1,4 @@
-
+
@@ -829,6 +829,9 @@
Io\DS3
+
+ Gui
+
diff --git a/rpcs3/rpcs3qt/gui_application.cpp b/rpcs3/rpcs3qt/gui_application.cpp
index 017f0ce605..2a89f24992 100644
--- a/rpcs3/rpcs3qt/gui_application.cpp
+++ b/rpcs3/rpcs3qt/gui_application.cpp
@@ -11,6 +11,7 @@
#include "save_data_dialog.h"
#include "msg_dialog_frame.h"
#include "osk_dialog_frame.h"
+#include "stylesheets.h"
gui_application::gui_application(int& argc, char** argv) : QApplication(argc, argv)
{
@@ -163,97 +164,6 @@ void gui_application::InitializeCallbacks()
*/
void gui_application::OnChangeStyleSheetRequest(const QString& path)
{
- QString style_sheet
- (
- // main window toolbar search
- "QLineEdit#mw_searchbar { padding: 0 1em; background: #fdfdfd; selection-background-color: #148aff; margin: .8em; color:#000000; }"
-
- // main window toolbar slider
- "QSlider#sizeSlider { color: #505050; background: #F0F0F0; }"
- "QSlider#sizeSlider::handle:horizontal { border: 0em smooth rgba(227, 227, 227, 255); border-radius: .58em; background: #404040; width: 1.2em; margin: -.5em 0; }"
- "QSlider#sizeSlider::groove:horizontal { border-radius: .15em; background: #5b5b5b; height: .3em; }"
-
- // main window toolbar
- "QToolBar#mw_toolbar { background-color: #F0F0F0; border: none; }"
- "QToolBar#mw_toolbar::separator { background-color: rgba(207, 207, 207, 235); width: 0.125em; margin-top: 0.250em; margin-bottom: 0.250em; }"
-
- // main window toolbar icon color
- "QLabel#toolbar_icon_color { color: #5b5b5b; }"
-
- // thumbnail icon color
- "QLabel#thumbnail_icon_color { color: rgba(0, 100, 231, 255); }"
-
- // 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); }"
-
- // trophy manager icon color
- "QLabel#trophy_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; }"
- "QTableView::item { border-left: 0.063em solid white; border-right: 0.063em solid white; padding-left:0.313em; }"
- "QTableView::item:selected { background-color: #148aff; color: #fff; }"
- "QTableView#game_grid::item:hover:!selected { background-color: #94c9ff; color: #fff; }"
- "QTableView#game_grid::item:hover:selected { background-color: #007fff; color: #fff; }"
-
- // table headers
-#if (QT_VERSION < QT_VERSION_CHECK(5,11,0))
- "QHeaderView::section { padding: .5em; border: 0.063em solid #ffffff; }"
- "QHeaderView::section:hover { background: #e3e3e3; padding: .5em; border: 0.063em solid #ffffff; }"
-#else
- "QHeaderView::section { padding-left: .5em; padding-right: .5em; padding-top: .4em; padding-bottom: -.1em; border: 0.063em solid #ffffff; }"
- "QHeaderView::section:hover { background: #e3e3e3; padding-left: .5em; padding-right: .5em; padding-top: .4em; padding-bottom: -.1em; border: 0.063em solid #ffffff; }"
-#endif
-
- // dock widget
- "QDockWidget{ background: transparent; color: black; }"
- "[floating=\"true\"]{ background: white; }"
- "QDockWidget::title{ background: #e3e3e3; border: none; padding-top: 0.2em; padding-left: 0.2em; }"
- "QDockWidget::close-button, QDockWidget::float-button{ background-color: #e3e3e3; }"
-
- // log frame tty
- "QTextEdit#tty_frame { background-color: #ffffff; }"
- "QLabel#tty_text { color: #000000; }"
-
- // log frame log
- "QTextEdit#log_frame { background-color: #ffffff; }"
- "QLabel#log_level_always { color: #107896; }"
- "QLabel#log_level_fatal { color: #ff00ff; }"
- "QLabel#log_level_error { color: #C02F1D; }"
- "QLabel#log_level_todo { color: #ff6000; }"
- "QLabel#log_level_success { color: #008000; }"
- "QLabel#log_level_warning { color: #BA8745; }"
- "QLabel#log_level_notice { color: #000000; }"
- "QLabel#log_level_trace { color: #808080; }"
- "QLabel#log_stack { color: #000000; }"
-
- // about dialog
- "QWidget#header_section { background-color: #ffffff; }"
-
- // kernel explorer
- "QDialog#kernel_explorer { background-color: rgba(240, 240, 240, 255); }"
-
- // memory viewer
- "QDialog#memory_viewer { background-color: rgba(240, 240, 240, 255); }"
- "QLabel#memory_viewer_address_panel { color: rgba(75, 135, 150, 255); background-color: rgba(240, 240, 240, 255); }"
- "QLabel#memory_viewer_hex_panel { color: #000000; background-color: rgba(240, 240, 240, 255); }"
- "QLabel#memory_viewer_ascii_panel { color: #000000; background-color: rgba(240, 240, 240, 255); }"
-
- // debugger frame
- "QLabel#debugger_frame_breakpoint { color: #000000; background-color: #ffff00; }"
- "QLabel#debugger_frame_pc { color: #000000; background-color: #00ff00; }"
-
- // rsx debugger
- "QLabel#rsx_debugger_display_buffer { background-color: rgba(240, 240, 240, 255); }"
-
- // pad settings
- "QLabel#l_controller { color: #434343; }"
- );
-
QFile file(path);
// If we can't open the file, try the /share or /Resources folder
@@ -268,12 +178,15 @@ void gui_application::OnChangeStyleSheetRequest(const QString& path)
if (path == "")
{
- setStyleSheet(style_sheet);
+ setStyleSheet(gui::stylesheets::default_style_sheet);
}
else if (file.open(QIODevice::ReadOnly | QIODevice::Text))
{
QString config_dir = qstr(fs::get_config_dir());
+ // Remove old fonts
+ QFontDatabase::removeAllApplicationFonts();
+
// Add PS3 fonts
QDirIterator ps3_font_it(qstr(g_cfg.vfs.get_dev_flash() + "data/font/"), QStringList() << "*.ttf", QDir::Files, QDirIterator::Subdirectories);
while (ps3_font_it.hasNext())
@@ -299,7 +212,7 @@ void gui_application::OnChangeStyleSheetRequest(const QString& path)
#endif
else
{
- setStyleSheet(style_sheet);
+ setStyleSheet(gui::stylesheets::default_style_sheet);
}
gui::stylesheet = styleSheet();
diff --git a/rpcs3/rpcs3qt/stylesheets.h b/rpcs3/rpcs3qt/stylesheets.h
new file mode 100644
index 0000000000..1df19feec5
--- /dev/null
+++ b/rpcs3/rpcs3qt/stylesheets.h
@@ -0,0 +1,100 @@
+#pragma once
+
+#include
+
+namespace gui
+{
+ namespace stylesheets
+ {
+ const QString default_style_sheet
+ (
+ // main window toolbar search
+ "QLineEdit#mw_searchbar { padding: 0 1em; background: #fdfdfd; selection-background-color: #148aff; margin: .8em; color:#000000; }"
+
+ // main window toolbar slider
+ "QSlider#sizeSlider { color: #505050; background: #F0F0F0; }"
+ "QSlider#sizeSlider::handle:horizontal { border: 0em smooth rgba(227, 227, 227, 255); border-radius: .58em; background: #404040; width: 1.2em; margin: -.5em 0; }"
+ "QSlider#sizeSlider::groove:horizontal { border-radius: .15em; background: #5b5b5b; height: .3em; }"
+
+ // main window toolbar
+ "QToolBar#mw_toolbar { background-color: #F0F0F0; border: none; }"
+ "QToolBar#mw_toolbar::separator { background-color: rgba(207, 207, 207, 235); width: 0.125em; margin-top: 0.250em; margin-bottom: 0.250em; }"
+
+ // main window toolbar icon color
+ "QLabel#toolbar_icon_color { color: #5b5b5b; }"
+
+ // thumbnail icon color
+ "QLabel#thumbnail_icon_color { color: rgba(0, 100, 231, 255); }"
+
+ // 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); }"
+
+ // trophy manager icon color
+ "QLabel#trophy_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; }"
+ "QTableView::item { border-left: 0.063em solid white; border-right: 0.063em solid white; padding-left:0.313em; }"
+ "QTableView::item:selected { background-color: #148aff; color: #fff; }"
+ "QTableView#game_grid::item:hover:!selected { background-color: #94c9ff; color: #fff; }"
+ "QTableView#game_grid::item:hover:selected { background-color: #007fff; color: #fff; }"
+
+ // table headers
+#if (QT_VERSION < QT_VERSION_CHECK(5,11,0))
+ "QHeaderView::section { padding: .5em; border: 0.063em solid #ffffff; }"
+ "QHeaderView::section:hover { background: #e3e3e3; padding: .5em; border: 0.063em solid #ffffff; }"
+#else
+ "QHeaderView::section { padding-left: .5em; padding-right: .5em; padding-top: .4em; padding-bottom: -.1em; border: 0.063em solid #ffffff; }"
+ "QHeaderView::section:hover { background: #e3e3e3; padding-left: .5em; padding-right: .5em; padding-top: .4em; padding-bottom: -.1em; border: 0.063em solid #ffffff; }"
+#endif
+
+ // dock widget
+ "QDockWidget{ background: transparent; color: black; }"
+ "[floating=\"true\"]{ background: white; }"
+ "QDockWidget::title{ background: #e3e3e3; border: none; padding-top: 0.2em; padding-left: 0.2em; }"
+ "QDockWidget::close-button, QDockWidget::float-button{ background-color: #e3e3e3; }"
+
+ // log frame tty
+ "QTextEdit#tty_frame { background-color: #ffffff; }"
+ "QLabel#tty_text { color: #000000; }"
+
+ // log frame log
+ "QTextEdit#log_frame { background-color: #ffffff; }"
+ "QLabel#log_level_always { color: #107896; }"
+ "QLabel#log_level_fatal { color: #ff00ff; }"
+ "QLabel#log_level_error { color: #C02F1D; }"
+ "QLabel#log_level_todo { color: #ff6000; }"
+ "QLabel#log_level_success { color: #008000; }"
+ "QLabel#log_level_warning { color: #BA8745; }"
+ "QLabel#log_level_notice { color: #000000; }"
+ "QLabel#log_level_trace { color: #808080; }"
+ "QLabel#log_stack { color: #000000; }"
+
+ // about dialog
+ "QWidget#header_section { background-color: #ffffff; }"
+
+ // kernel explorer
+ "QDialog#kernel_explorer { background-color: rgba(240, 240, 240, 255); }"
+
+ // memory viewer
+ "QDialog#memory_viewer { background-color: rgba(240, 240, 240, 255); }"
+ "QLabel#memory_viewer_address_panel { color: rgba(75, 135, 150, 255); background-color: rgba(240, 240, 240, 255); }"
+ "QLabel#memory_viewer_hex_panel { color: #000000; background-color: rgba(240, 240, 240, 255); }"
+ "QLabel#memory_viewer_ascii_panel { color: #000000; background-color: rgba(240, 240, 240, 255); }"
+
+ // debugger frame
+ "QLabel#debugger_frame_breakpoint { color: #000000; background-color: #ffff00; }"
+ "QLabel#debugger_frame_pc { color: #000000; background-color: #00ff00; }"
+
+ // rsx debugger
+ "QLabel#rsx_debugger_display_buffer { background-color: rgba(240, 240, 240, 255); }"
+
+ // pad settings
+ "QLabel#l_controller { color: #434343; }"
+ );
+ }
+}