diff --git a/rpcs3/rpcs3qt/about_dialog.cpp b/rpcs3/rpcs3qt/about_dialog.cpp
index 3f3bd67659..d0a5760ec6 100644
--- a/rpcs3/rpcs3qt/about_dialog.cpp
+++ b/rpcs3/rpcs3qt/about_dialog.cpp
@@ -23,5 +23,5 @@ about_dialog::about_dialog(QWidget* parent) : QDialog(parent), ui(new Ui::about_
connect(ui->patreon, &QAbstractButton::clicked, [] { QDesktopServices::openUrl(QUrl("https://www.patreon.com/Nekotekina")); });
connect(ui->close, &QAbstractButton::clicked, this, &QWidget::close);
- setFixedSize(sizeHint());
+ layout()->setSizeConstraint(QLayout::SetFixedSize);
}
diff --git a/rpcs3/rpcs3qt/about_dialog.ui b/rpcs3/rpcs3qt/about_dialog.ui
index 69caad8ea9..5ce0bff2eb 100644
--- a/rpcs3/rpcs3qt/about_dialog.ui
+++ b/rpcs3/rpcs3qt/about_dialog.ui
@@ -6,7 +6,7 @@
0
0
- 632
+ 609
474
@@ -138,7 +138,7 @@
- <html><head/><body><p>RPCS3 is an open-source Sony PlayStation 3 emulator and debugger.<br/>It is written in C++ for Windows and Linux funded with <a href="https://www.patreon.com/Nekotekina"><span style=" text-decoration: underline; color:#0000ff;">Patreon</span></a>.<br/>Our lead developers and contributors are always working hard to ensure this project can be the best that it can be.<br/>There are still plenty of implementations to be made and optimizations to be done.</p></body></html>
+ <html><head/><body><p>RPCS3 is an open-source Sony PlayStation 3 emulator and debugger.<br/>It is written in C++ for Windows and Linux funded with <a href="https://www.patreon.com/Nekotekina"><span style=" text-decoration: underline; color:#0000ff;">Patreon</span></a>.<br/>Our developers and contributors are always working hard to ensure this project can be the best that it can be.<br/>There are still plenty of implementations to be made and optimizations to be done.</p></body></html>
Qt::RichText
diff --git a/rpcs3/rpcs3qt/game_list_frame.cpp b/rpcs3/rpcs3qt/game_list_frame.cpp
index dc1275b517..c40289d3b9 100644
--- a/rpcs3/rpcs3qt/game_list_frame.cpp
+++ b/rpcs3/rpcs3qt/game_list_frame.cpp
@@ -33,6 +33,7 @@ game_list_frame::game_list_frame(std::shared_ptr settings, const R
m_Margin_Factor = xgui_settings->GetValue(GUI::gl_marginFactor).toReal();
m_Text_Factor = xgui_settings->GetValue(GUI::gl_textFactor).toReal();
m_showToolBar = xgui_settings->GetValue(GUI::gl_toolBarVisible).toBool();
+ m_Icon_Color = xgui_settings->GetValue(GUI::gl_iconColor).value();
m_oldLayoutIsList = m_isListLayout;
@@ -49,6 +50,7 @@ game_list_frame::game_list_frame(std::shared_ptr settings, const R
}
// Save factors for first setup
+ xgui_settings->SetValue(GUI::gl_iconColor, m_Icon_Color);
xgui_settings->SetValue(GUI::gl_marginFactor, m_Margin_Factor);
xgui_settings->SetValue(GUI::gl_textFactor, m_Text_Factor);
xgui_settings->SetValue(GUI::gl_toolBarVisible, m_showToolBar);
@@ -149,7 +151,7 @@ game_list_frame::game_list_frame(std::shared_ptr settings, const R
setWidget(m_Game_Dock);
bool showText = (m_Icon_Size_Str != GUI::gl_icon_key_small && m_Icon_Size_Str != GUI::gl_icon_key_tiny);
- m_xgrid = new game_list_grid(m_Icon_Size, m_Margin_Factor, m_Text_Factor, showText);
+ m_xgrid = new game_list_grid(m_Icon_Size, m_Icon_Color, m_Margin_Factor, m_Text_Factor, showText);
gameList = new QTableWidget();
gameList->setShowGrid(false);
@@ -168,7 +170,6 @@ game_list_frame::game_list_frame(std::shared_ptr settings, const R
gameList->horizontalHeader()->setDefaultSectionSize(150);
gameList->setContextMenuPolicy(Qt::CustomContextMenu);
gameList->setAlternatingRowColors(true);
- gameList->setStyleSheet("alternate-background-color: rgb(242, 242, 242);");
gameList->setColumnCount(10);
gameList->setHorizontalHeaderItem(0, new QTableWidgetItem(tr("Icon")));
@@ -293,6 +294,8 @@ void game_list_frame::LoadSettings()
m_sortColumn = xgui_settings->GetValue(GUI::gl_sortCol).toInt();
+ m_Icon_Color = xgui_settings->GetValue(GUI::gl_iconColor).value();
+
m_categoryFilters = xgui_settings->GetGameListCategoryFilters();
Refresh(true);
@@ -420,7 +423,7 @@ void game_list_frame::Refresh(bool fromDrive)
if (!game.icon_path.empty() && img.load(qstr(game.icon_path)))
{
QImage scaled = QImage(m_Icon_Size, QImage::Format_ARGB32);
- scaled.fill(QColor(209, 209, 209, 255));
+ scaled.fill(m_Icon_Color);
QPainter painter(&scaled);
painter.drawImage(QPoint(0,0), img.scaled(m_Icon_Size, Qt::KeepAspectRatio, Qt::TransformationMode::SmoothTransformation));
painter.end();
@@ -471,7 +474,7 @@ void game_list_frame::Refresh(bool fromDrive)
m_games_per_row = 0;
}
- PopulateGameGrid(m_games_per_row, m_Icon_Size);
+ PopulateGameGrid(m_games_per_row, m_Icon_Size, m_Icon_Color);
connect(m_xgrid, &QTableWidget::doubleClicked, this, &game_list_frame::doubleClickedSlot);
connect(m_xgrid, &QTableWidget::customContextMenuRequested, this, &game_list_frame::ShowContextMenu);
m_Central_Widget->addWidget(m_xgrid);
@@ -715,7 +718,7 @@ void game_list_frame::ResizeIcons(const QString& sizeStr, const QSize& size, con
for (size_t i = 0; i < m_game_data.size(); i++)
{
QImage scaled = QImage(m_Icon_Size, QImage::Format_ARGB32);
- scaled.fill(QColor(209, 209, 209, 255));
+ scaled.fill(m_Icon_Color);
QPainter painter(&scaled);
painter.drawImage(QPoint(0, 0), m_game_data[i].icon.scaled(m_Icon_Size, Qt::KeepAspectRatio, Qt::TransformationMode::SmoothTransformation));
painter.end();
@@ -828,7 +831,7 @@ int game_list_frame::PopulateGameList()
return result;
}
-void game_list_frame::PopulateGameGrid(uint maxCols, const QSize& image_size)
+void game_list_frame::PopulateGameGrid(uint maxCols, const QSize& image_size, const QColor& image_color)
{
uint r = 0;
uint c = 0;
@@ -841,11 +844,11 @@ void game_list_frame::PopulateGameGrid(uint maxCols, const QSize& image_size)
if (m_Icon_Size_Str == GUI::gl_icon_key_medium)
{
- m_xgrid = new game_list_grid(image_size, m_Margin_Factor, m_Text_Factor * 2, showText);
+ m_xgrid = new game_list_grid(image_size, image_color, m_Margin_Factor, m_Text_Factor * 2, showText);
}
else
{
- m_xgrid = new game_list_grid(image_size, m_Margin_Factor, m_Text_Factor, showText);
+ m_xgrid = new game_list_grid(image_size, image_color, m_Margin_Factor, m_Text_Factor, showText);
}
// Get number of things that'll be in grid and precompute grid size.
diff --git a/rpcs3/rpcs3qt/game_list_frame.h b/rpcs3/rpcs3qt/game_list_frame.h
index 2fb0b27b7f..f03ae473ad 100644
--- a/rpcs3/rpcs3qt/game_list_frame.h
+++ b/rpcs3/rpcs3qt/game_list_frame.h
@@ -216,7 +216,7 @@ protected:
void closeEvent(QCloseEvent* event);
void resizeEvent(QResizeEvent *event);
private:
- void PopulateGameGrid(uint maxCols, const QSize& image_size);
+ void PopulateGameGrid(uint maxCols, const QSize& image_size, const QColor& image_color);
void FilterData();
int PopulateGameList();
@@ -278,6 +278,7 @@ private:
std::vector m_game_data;
QSize m_Icon_Size;
QString m_Icon_Size_Str;
+ QColor m_Icon_Color;
qreal m_Margin_Factor;
qreal m_Text_Factor;
QStringList m_categoryFilters;
diff --git a/rpcs3/rpcs3qt/game_list_grid.cpp b/rpcs3/rpcs3qt/game_list_grid.cpp
index 894f52d464..04a9cc5064 100644
--- a/rpcs3/rpcs3qt/game_list_grid.cpp
+++ b/rpcs3/rpcs3qt/game_list_grid.cpp
@@ -3,8 +3,8 @@
#include
-game_list_grid::game_list_grid(const QSize& icon_size, const qreal& margin_factor, const qreal& text_factor, const bool& showText)
- : QTableWidget(), m_icon_size(icon_size), m_margin_factor(margin_factor), m_text_factor(text_factor), m_text_enabled(showText)
+game_list_grid::game_list_grid(const QSize& icon_size, const QColor& icon_color, const qreal& margin_factor, const qreal& text_factor, const bool& showText)
+ : QTableWidget(), m_icon_size(icon_size), m_icon_color(icon_color), m_margin_factor(margin_factor), m_text_factor(text_factor), m_text_enabled(showText)
{
QSize item_size;
if (m_text_enabled)
@@ -71,7 +71,7 @@ void game_list_grid::addItem(const QPixmap& img, const QString& name, const int&
// create background for image
QImage bg_img = QImage(img.size(), QImage::Format_ARGB32);
- bg_img.fill(QColor(209, 209, 209, 255));
+ bg_img.fill(m_icon_color);
// place raw image inside expanded image
QPainter painter(&exp_img);
diff --git a/rpcs3/rpcs3qt/game_list_grid.h b/rpcs3/rpcs3qt/game_list_grid.h
index 644aec9def..4d1e1f37cc 100644
--- a/rpcs3/rpcs3qt/game_list_grid.h
+++ b/rpcs3/rpcs3qt/game_list_grid.h
@@ -14,12 +14,13 @@ class game_list_grid : public QTableWidget
Q_OBJECT
QSize m_icon_size;
+ QColor m_icon_color;
qreal m_margin_factor;
qreal m_text_factor;
bool m_text_enabled = true;
public:
- explicit game_list_grid(const QSize& icon_size, const qreal& margin_factor, const qreal& text_factor, const bool& showText);
+ explicit game_list_grid(const QSize& icon_size, const QColor& icon_color, const qreal& margin_factor, const qreal& text_factor, const bool& showText);
~game_list_grid();
void enableText(const bool& enabled);
diff --git a/rpcs3/rpcs3qt/gui_settings.cpp b/rpcs3/rpcs3qt/gui_settings.cpp
index bf7ef7f1b8..f5c7bb768e 100644
--- a/rpcs3/rpcs3qt/gui_settings.cpp
+++ b/rpcs3/rpcs3qt/gui_settings.cpp
@@ -179,6 +179,11 @@ void gui_settings::SetGamelistColVisibility(int col, bool val)
SetValue(GUI_SAVE(GUI::game_list, "Col" + QString::number(col) + "visible", show), val);
}
+void gui_settings::SetCustomColor(int col, const QColor& val)
+{
+ SetValue(GUI_SAVE(GUI::meta, "CustomColor" + QString::number(col), QColor(0, 0, 0, 0)), val);
+}
+
void gui_settings::SaveCurrentConfig(const QString& friendlyName)
{
SetValue(GUI::m_currentConfig, friendlyName);
@@ -197,6 +202,11 @@ bool gui_settings::GetGamelistColVisibility(int col)
return GetValue(GUI_SAVE(GUI::game_list, "Col" + QString::number(col) + "visible", show)).toBool();
}
+QColor gui_settings::GetCustomColor(int col)
+{
+ return GetValue(GUI_SAVE(GUI::meta, "CustomColor" + QString::number(col), QColor(255, 255, 255, 255))).value();
+}
+
QStringList gui_settings::GetConfigEntries()
{
QStringList nameFilter;
diff --git a/rpcs3/rpcs3qt/gui_settings.h b/rpcs3/rpcs3qt/gui_settings.h
index b66c1d5df1..80b8294f9a 100644
--- a/rpcs3/rpcs3qt/gui_settings.h
+++ b/rpcs3/rpcs3qt/gui_settings.h
@@ -6,6 +6,7 @@
#include
#include
#include
+#include
typedef struct GUI_SAVE
{
@@ -69,6 +70,7 @@ namespace GUI
const GUI_SAVE mw_logger = GUI_SAVE( main_window, "loggerVisible", true );
const GUI_SAVE mw_gamelist = GUI_SAVE( main_window, "gamelistVisible", true );
const GUI_SAVE mw_toolBarVisible = GUI_SAVE( main_window, "toolBarVisible", true );
+ const GUI_SAVE mw_toolBarColor = GUI_SAVE( main_window, "toolBarColor", QColor(227, 227, 227, 255));
const GUI_SAVE mw_geometry = GUI_SAVE( main_window, "geometry", QByteArray() );
const GUI_SAVE mw_windowState = GUI_SAVE( main_window, "windowState", QByteArray() );
const GUI_SAVE mw_mwState = GUI_SAVE( main_window, "wwState", QByteArray() );
@@ -85,6 +87,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", gl_icon_key_small );
+ const GUI_SAVE gl_iconColor = GUI_SAVE( game_list, "iconColor", QColor(209, 209, 209, 255));
const GUI_SAVE gl_listMode = GUI_SAVE( game_list, "listMode", true );
const GUI_SAVE gl_textFactor = GUI_SAVE( game_list, "textFactor", (qreal) 2.0 );
const GUI_SAVE gl_marginFactor = GUI_SAVE( game_list, "marginFactor", (qreal) 0.09 );
@@ -129,6 +132,7 @@ public:
logs::level GetLogLevel();
bool GetGamelistColVisibility(int col);
+ QColor GetCustomColor(int col);
QStringList GetConfigEntries();
QString GetCurrentStylesheetPath();
QStringList GetStylesheetEntries();
@@ -145,6 +149,8 @@ public Q_SLOTS:
void SetGamelistColVisibility(int col, bool val);
+ void SetCustomColor(int col, const QColor& val);
+
void SaveCurrentConfig(const QString& friendlyName);
private:
diff --git a/rpcs3/rpcs3qt/main_window.cpp b/rpcs3/rpcs3qt/main_window.cpp
index 942a3c5b7b..38e553f9a3 100644
--- a/rpcs3/rpcs3qt/main_window.cpp
+++ b/rpcs3/rpcs3qt/main_window.cpp
@@ -972,6 +972,10 @@ void main_window::CreateConnects()
connect(&dlg, &settings_dialog::GuiSettingsSaveRequest, this, &main_window::SaveWindowState);
connect(&dlg, &settings_dialog::GuiSettingsSyncRequest, [=]() {ConfigureGuiFromSettings(true); });
connect(&dlg, &settings_dialog::GuiStylesheetRequest, this, &main_window::RequestGlobalStylesheetChange);
+ connect(&dlg, &settings_dialog::accepted, [this](){
+ gameListFrame->LoadSettings();
+ QColor tbc = guiSettings->GetValue(GUI::mw_toolBarColor).value();
+ ui->toolBar->setStyleSheet(QString("background-color: rgba(%1, %2, %3, %4);").arg(tbc.red()).arg(tbc.green()).arg(tbc.blue()).arg(tbc.alpha())); });
dlg.exec();
};
connect(ui->confCPUAct, &QAction::triggered, [=]() { openSettings(0); });
@@ -1233,6 +1237,9 @@ void main_window::ConfigureGuiFromSettings(bool configureAll)
gameListFrame->SetToolBarVisible(ui->showGameToolBarAct->isChecked());
ui->toolBar->setVisible(ui->showToolBarAct->isChecked());
+ QColor tbc = guiSettings->GetValue(GUI::mw_toolBarColor).value();
+ ui->toolBar->setStyleSheet(QString("background-color: rgba(%1, %2, %3, %4);").arg(tbc.red()).arg(tbc.green()).arg(tbc.blue()).arg(tbc.alpha()));
+
ui->showCatHDDGameAct->setChecked(guiSettings->GetCategoryVisibility(Category::Non_Disc_Game));
ui->showCatDiscGameAct->setChecked(guiSettings->GetCategoryVisibility(Category::Disc_Game));
ui->showCatHomeAct->setChecked(guiSettings->GetCategoryVisibility(Category::Home));
diff --git a/rpcs3/rpcs3qt/main_window.ui b/rpcs3/rpcs3qt/main_window.ui
index 28cd29411b..4a70a61afe 100644
--- a/rpcs3/rpcs3qt/main_window.ui
+++ b/rpcs3/rpcs3qt/main_window.ui
@@ -300,17 +300,16 @@ selection-background-color: rgb(85, 170, 255);
false
-
+
+
-
-
-
+
@@ -844,6 +843,12 @@ selection-background-color: rgb(85, 170, 255);
Capture frame
+
+ false
+
+
+ true
+
@@ -895,6 +900,12 @@ selection-background-color: rgb(85, 170, 255);
Sort options
+
+ false
+
+
+ true
+
diff --git a/rpcs3/rpcs3qt/pad_settings_dialog.cpp b/rpcs3/rpcs3qt/pad_settings_dialog.cpp
index d1875f3fe8..dce6ddf00d 100644
--- a/rpcs3/rpcs3qt/pad_settings_dialog.cpp
+++ b/rpcs3/rpcs3qt/pad_settings_dialog.cpp
@@ -67,7 +67,8 @@ pad_settings_dialog::pad_settings_dialog(QWidget *parent) : QDialog(parent), ui(
g_kbpad_config.load();
UpdateLabel();
- setFixedSize(sizeHint());
+ ui->l_controller->setMaximumSize(ui->gb_description->sizeHint().width(), ui->l_controller->maximumHeight() * ui->gb_description->sizeHint().width() / ui->l_controller->maximumWidth());
+ layout()->setSizeConstraint(QLayout::SetFixedSize);
}
pad_settings_dialog::~pad_settings_dialog()
diff --git a/rpcs3/rpcs3qt/pad_settings_dialog.ui b/rpcs3/rpcs3qt/pad_settings_dialog.ui
index cfab6d1d51..fb58257582 100644
--- a/rpcs3/rpcs3qt/pad_settings_dialog.ui
+++ b/rpcs3/rpcs3qt/pad_settings_dialog.ui
@@ -6,8 +6,8 @@
0
0
- 1044
- 670
+ 892
+ 554
@@ -569,7 +569,7 @@
20
- 40
+ 0
@@ -927,8 +927,20 @@
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
-
-
+
430
@@ -1058,13 +1070,13 @@
20
- 40
+ 0
-
-
+
Description
@@ -1657,7 +1669,7 @@
20
- 40
+ 0
diff --git a/rpcs3/rpcs3qt/settings_dialog.cpp b/rpcs3/rpcs3qt/settings_dialog.cpp
index df55645339..18c16abd5e 100644
--- a/rpcs3/rpcs3qt/settings_dialog.cpp
+++ b/rpcs3/rpcs3qt/settings_dialog.cpp
@@ -7,6 +7,7 @@
#include
#include
#include
+#include
#include "settings_dialog.h"
#include "emu_settings.h"
@@ -661,12 +662,29 @@ settings_dialog::settings_dialog(std::shared_ptr xSettings, const
connect(ui->pb_apply_stylesheet, &QAbstractButton::clicked, this, &settings_dialog::OnApplyStylesheet);
connect(ui->pb_open_folder, &QAbstractButton::clicked, [=]() {QDesktopServices::openUrl(xgui_settings->GetSettingsDir()); });
connect(ui->cb_show_welcome, &QCheckBox::clicked, [=](bool val) {xgui_settings->SetValue(GUI::ib_show_welcome, val); });
+ auto colorDialog = [&](const GUI_SAVE& color, const QString& title){
+ QColorDialog dlg(xgui_settings->GetValue(color).value(), this);
+ dlg.setWindowTitle(title);
+ dlg.setOptions(QColorDialog::ShowAlphaChannel);
+ for (int i = 0; i < dlg.customCount(); i++)
+ {
+ dlg.setCustomColor(i, xgui_settings->GetCustomColor(i));
+ }
+ dlg.exec();
+ for (int i = 0; i < dlg.customCount(); i++)
+ {
+ xgui_settings->SetCustomColor(i, dlg.customColor(i));
+ }
+ xgui_settings->SetValue(color, dlg.selectedColor());
+ };
+ connect(ui->pb_icon_color, &QAbstractButton::clicked, [=]() { colorDialog(GUI::gl_iconColor, "Choose icon color"); });
+ connect(ui->pb_tool_bar_color, &QAbstractButton::clicked, [=]() { colorDialog(GUI::mw_toolBarColor, "Choose tool bar color"); });
AddConfigs();
AddStylesheets();
}
- setFixedSize(sizeHint());
+ layout()->setSizeConstraint(QLayout::SetFixedSize);
}
void settings_dialog::AddConfigs()
diff --git a/rpcs3/rpcs3qt/settings_dialog.ui b/rpcs3/rpcs3qt/settings_dialog.ui
index 4b74b363e3..b846f2e7a5 100644
--- a/rpcs3/rpcs3qt/settings_dialog.ui
+++ b/rpcs3/rpcs3qt/settings_dialog.ui
@@ -6,8 +6,8 @@
0
0
- 604
- 682
+ 550
+ 604
@@ -30,7 +30,7 @@
true
-
+
0
0
@@ -298,6 +298,9 @@
Qt::Vertical
+
+ QSizePolicy::MinimumExpanding
+
0
@@ -566,6 +569,9 @@
Qt::Vertical
+
+ QSizePolicy::MinimumExpanding
+
0
@@ -667,6 +673,9 @@
Qt::Vertical
+
+ QSizePolicy::MinimumExpanding
+
0
@@ -791,6 +800,9 @@
Qt::Vertical
+
+ QSizePolicy::MinimumExpanding
+
0
@@ -890,6 +902,9 @@
Qt::Vertical
+
+ QSizePolicy::MinimumExpanding
+
0
@@ -956,6 +971,9 @@
Qt::Vertical
+
+ QSizePolicy::MinimumExpanding
+
0
@@ -1117,13 +1135,46 @@
-
-
+
+
-
+
+
+ -
+
+
+ UI Colors (missing in stylesheets)
+
+
+
-
+
+
+ Gamelist icons
+
+
+
+ -
+
+
+ Mainwindow tool bar
+
+
+
+
+
+
+
+
+ -
+
Qt::Vertical
+
+ QSizePolicy::MinimumExpanding
+
- 0
+ 20
0
@@ -1155,8 +1206,6 @@
- groupBox_62
- verticalSpacer_10
@@ -1198,7 +1247,7 @@
-
+
diff --git a/rpcs3/rpcs3qt/welcome_dialog.cpp b/rpcs3/rpcs3qt/welcome_dialog.cpp
index 00f7bfa7e3..d9805a302f 100644
--- a/rpcs3/rpcs3qt/welcome_dialog.cpp
+++ b/rpcs3/rpcs3qt/welcome_dialog.cpp
@@ -33,5 +33,5 @@ welcome_dialog::welcome_dialog(QWidget* parent) : QDialog(parent), ui(new Ui::we
connect(ui->okay, &QPushButton::pressed, this, &QDialog::accept);
- setFixedSize(sizeHint());
+ layout()->setSizeConstraint(QLayout::SetFixedSize);
}
diff --git a/rpcs3/rpcs3qt/welcome_dialog.ui b/rpcs3/rpcs3qt/welcome_dialog.ui
index d44e93411d..ae1cc3647d 100644
--- a/rpcs3/rpcs3qt/welcome_dialog.ui
+++ b/rpcs3/rpcs3qt/welcome_dialog.ui
@@ -6,7 +6,7 @@
0
0
- 634
+ 611
272
@@ -143,7 +143,7 @@
- <html><head/><body><p>RPCS3 is an open-source Sony PlayStation 3 emulator and debugger.<br/>It is written in C++ for Windows and Linux and funded with <a href="https://www.patreon.com/Nekotekina"><span style=" text-decoration: underline; color:#0000ff;">Patreon</span></a>.<br/>Our lead developers and contributors are always working hard to ensure this project can be the best that it can be.<br/>There are still plenty of implementations to be made and optimizations to be done.</p></body></html>
+ <html><head/><body><p>RPCS3 is an open-source Sony PlayStation 3 emulator and debugger.<br/>It is written in C++ for Windows and Linux and funded with <a href="https://www.patreon.com/Nekotekina"><span style=" text-decoration: underline; color:#0000ff;">Patreon</span></a>.<br/>Our developers and contributors are always working hard to ensure this project can be the best that it can be.<br/>There are still plenty of implementations to be made and optimizations to be done.</p></body></html>
Qt::RichText
@@ -182,7 +182,7 @@
11
-
-
+
true
@@ -198,7 +198,7 @@
Qt::RichText
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
+ Qt::AlignHCenter|Qt::AlignTop
true
@@ -208,7 +208,7 @@
- -
+
-
@@ -222,7 +222,7 @@
- <br>RPCS3 does not condone piracy. You must dump your own games.<br>
+ <html><head/><body><p><br/><span style=" font-weight:600; color:#ff0000;">RPCS3 does not condone piracy. You must dump your own games.</span><br/></p></body></html>
Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
@@ -253,26 +253,6 @@
- -
-
-
-
-
-
- I have read the Quickstart guide
-
-
-
- -
-
-
-
-
-
- Do not show again
-
-
-
-
@@ -286,6 +266,39 @@
+ -
+
+
+
+
+
+ I have read the Quickstart guide
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+
+
+ Do not show again
+
+
+