mirror of
https://github.com/izzy2lost/xenia-edge.git
synced 2026-07-06 00:20:26 -07:00
[UI] Switch to green-ish theme
This commit is contained in:
@@ -147,14 +147,14 @@ void AchievementsDialogQt::SetupUI() {
|
||||
" background-color: #2D2D2D;"
|
||||
" alternate-background-color: #2D2D2D;"
|
||||
" gridline-color: #444444;"
|
||||
" selection-background-color: #3D5A80;"
|
||||
" selection-background-color: rgba(16, 124, 16, 120);"
|
||||
"}"
|
||||
"QTableWidget::item {"
|
||||
" border-bottom: 1px solid #444444;"
|
||||
" padding: 0px;"
|
||||
"}"
|
||||
"QTableWidget::item:selected {"
|
||||
" background-color: #3D5A80;"
|
||||
" background-color: rgba(16, 124, 16, 120);"
|
||||
"}");
|
||||
|
||||
// Row height - consistent minimum height with auto-resize for content
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
#include <QImage>
|
||||
#include <QMenu>
|
||||
#include <QMessageBox>
|
||||
#include <QPalette>
|
||||
#include <QScrollBar>
|
||||
#include <QUrl>
|
||||
#include <chrono>
|
||||
@@ -274,9 +275,11 @@ void GameListDialogQt::SetupUI() {
|
||||
table_widget_->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
table_widget_->setMouseTracking(true);
|
||||
|
||||
// Disable default table item hover highlighting (we handle it in row widget)
|
||||
// Set Xbox green theme for table
|
||||
table_widget_->setStyleSheet(
|
||||
"QTableWidget::item:hover { background-color: transparent; }");
|
||||
"QTableWidget::item:hover { background-color: transparent; }"
|
||||
"QTableWidget::item:selected { background-color: rgba(16, 124, 16, 120); "
|
||||
"}");
|
||||
|
||||
// Auto-hide scrollbar - only show when hovering or scrolling
|
||||
table_widget_->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
|
||||
@@ -610,7 +613,7 @@ void GameListDialogQt::PopulateTable() {
|
||||
row_widget->setObjectName("GameListRow");
|
||||
row_widget->setStyleSheet(
|
||||
"#GameListRow { border-bottom: 1px solid rgba(128, 128, 128, 50); }"
|
||||
"#GameListRow:hover { background-color: rgba(128, 128, 128, 50); }");
|
||||
"#GameListRow:hover { background-color: rgba(16, 124, 16, 80); }");
|
||||
auto* row_layout = new QHBoxLayout(row_widget);
|
||||
row_layout->setContentsMargins(10, 10, 10, 10);
|
||||
row_layout->setSpacing(15);
|
||||
@@ -1234,12 +1237,12 @@ void GameListDialogQt::ShowScrollbar() {
|
||||
" margin: 0px;"
|
||||
"}"
|
||||
"QScrollBar::handle:vertical {"
|
||||
" background: rgba(128, 128, 128, 180);"
|
||||
" background: rgba(16, 124, 16, 180);"
|
||||
" min-height: 20px;"
|
||||
" border-radius: 5px;"
|
||||
"}"
|
||||
"QScrollBar::handle:vertical:hover {"
|
||||
" background: rgba(128, 128, 128, 220);"
|
||||
" background: rgba(16, 124, 16, 220);"
|
||||
"}"
|
||||
"QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical {"
|
||||
" height: 0px;"
|
||||
@@ -1268,12 +1271,12 @@ void GameListDialogQt::HideScrollbar() {
|
||||
" margin: 0px;"
|
||||
"}"
|
||||
"QScrollBar::handle:vertical {"
|
||||
" background: rgba(128, 128, 128, 0);"
|
||||
" background: rgba(16, 124, 16, 0);"
|
||||
" min-height: 20px;"
|
||||
" border-radius: 5px;"
|
||||
"}"
|
||||
"QScrollBar::handle:vertical:hover {"
|
||||
" background: rgba(128, 128, 128, 180);"
|
||||
" background: rgba(16, 124, 16, 180);"
|
||||
"}"
|
||||
"QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical {"
|
||||
" height: 0px;"
|
||||
|
||||
@@ -32,25 +32,43 @@ int main(int argc, char** argv) {
|
||||
|
||||
QApplication qt_app(argc, argv);
|
||||
|
||||
// Force dark theme
|
||||
// Force Fusion style to ensure consistent styling across platforms
|
||||
qt_app.setStyle("Fusion");
|
||||
|
||||
// Force dark theme with Xbox green highlights
|
||||
QPalette dark_palette;
|
||||
dark_palette.setColor(QPalette::Window, QColor(53, 53, 53));
|
||||
dark_palette.setColor(QPalette::WindowText, Qt::white);
|
||||
dark_palette.setColor(QPalette::Base, QColor(35, 35, 35));
|
||||
dark_palette.setColor(QPalette::AlternateBase, QColor(53, 53, 53));
|
||||
dark_palette.setColor(QPalette::ToolTipBase, QColor(25, 25, 25));
|
||||
dark_palette.setColor(QPalette::ToolTipText, Qt::white);
|
||||
dark_palette.setColor(QPalette::Text, Qt::white);
|
||||
dark_palette.setColor(QPalette::Button, QColor(53, 53, 53));
|
||||
dark_palette.setColor(QPalette::ButtonText, Qt::white);
|
||||
dark_palette.setColor(QPalette::BrightText, Qt::red);
|
||||
dark_palette.setColor(QPalette::Link, QColor(42, 130, 218));
|
||||
dark_palette.setColor(QPalette::Highlight, QColor(42, 130, 218));
|
||||
dark_palette.setColor(QPalette::HighlightedText, Qt::black);
|
||||
dark_palette.setColor(QPalette::Disabled, QPalette::Text,
|
||||
QColor(127, 127, 127));
|
||||
dark_palette.setColor(QPalette::Disabled, QPalette::ButtonText,
|
||||
QColor(127, 127, 127));
|
||||
|
||||
// Set colors for all color groups (Active, Inactive, Disabled) to avoid any
|
||||
// blue
|
||||
for (auto group :
|
||||
{QPalette::Active, QPalette::Inactive, QPalette::Disabled}) {
|
||||
dark_palette.setColor(group, QPalette::Window, QColor(53, 53, 53));
|
||||
dark_palette.setColor(group, QPalette::WindowText, Qt::white);
|
||||
dark_palette.setColor(group, QPalette::Base, QColor(35, 35, 35));
|
||||
dark_palette.setColor(group, QPalette::AlternateBase, QColor(53, 53, 53));
|
||||
dark_palette.setColor(group, QPalette::ToolTipBase, QColor(25, 25, 25));
|
||||
dark_palette.setColor(group, QPalette::ToolTipText, Qt::white);
|
||||
dark_palette.setColor(
|
||||
group, QPalette::Text,
|
||||
group == QPalette::Disabled ? QColor(127, 127, 127) : Qt::white);
|
||||
dark_palette.setColor(group, QPalette::Button, QColor(53, 53, 53));
|
||||
dark_palette.setColor(
|
||||
group, QPalette::ButtonText,
|
||||
group == QPalette::Disabled ? QColor(127, 127, 127) : Qt::white);
|
||||
dark_palette.setColor(group, QPalette::BrightText, Qt::red);
|
||||
dark_palette.setColor(group, QPalette::Link, QColor(16, 124, 16));
|
||||
dark_palette.setColor(group, QPalette::LinkVisited, QColor(14, 106, 14));
|
||||
dark_palette.setColor(group, QPalette::Highlight,
|
||||
group == QPalette::Disabled ? QColor(14, 106, 14)
|
||||
: QColor(16, 124, 16));
|
||||
dark_palette.setColor(group, QPalette::HighlightedText, Qt::white);
|
||||
dark_palette.setColor(group, QPalette::Light, QColor(80, 80, 80));
|
||||
dark_palette.setColor(group, QPalette::Midlight, QColor(66, 66, 66));
|
||||
dark_palette.setColor(group, QPalette::Dark, QColor(26, 26, 26));
|
||||
dark_palette.setColor(group, QPalette::Mid, QColor(40, 40, 40));
|
||||
dark_palette.setColor(group, QPalette::Shadow, Qt::black);
|
||||
}
|
||||
|
||||
qt_app.setPalette(dark_palette);
|
||||
|
||||
// Fix menu spacing and styling
|
||||
@@ -58,6 +76,14 @@ int main(int argc, char** argv) {
|
||||
"QMenuBar::item { "
|
||||
" padding: 5px 10px; "
|
||||
"} "
|
||||
"QMenuBar::item:selected { "
|
||||
" background-color: rgb(16, 124, 16); "
|
||||
" color: white; "
|
||||
"} "
|
||||
"QMenuBar::item:pressed { "
|
||||
" background-color: rgb(16, 124, 16); "
|
||||
" color: white; "
|
||||
"} "
|
||||
"QMenu { "
|
||||
" background-color: rgb(53, 53, 53); "
|
||||
" border: 1px solid rgb(80, 80, 80); "
|
||||
@@ -68,10 +94,124 @@ int main(int argc, char** argv) {
|
||||
" background-color: transparent; "
|
||||
"} "
|
||||
"QMenu::item:selected { "
|
||||
" background-color: rgb(42, 130, 218); "
|
||||
" color: black; "
|
||||
" background-color: rgb(16, 124, 16); "
|
||||
" color: white; "
|
||||
"} "
|
||||
"QMenu::indicator { width: 0px; margin-left: 0px; }");
|
||||
"QMenu::indicator { width: 0px; margin-left: 0px; } "
|
||||
// Scrollbars - Xbox green theme
|
||||
"QScrollBar:vertical { "
|
||||
" border: none; "
|
||||
" background: transparent; "
|
||||
" width: 12px; "
|
||||
" margin: 0px; "
|
||||
"} "
|
||||
"QScrollBar::handle:vertical { "
|
||||
" background: rgba(16, 124, 16, 180); "
|
||||
" min-height: 20px; "
|
||||
" border-radius: 6px; "
|
||||
"} "
|
||||
"QScrollBar::handle:vertical:hover { "
|
||||
" background: rgba(16, 124, 16, 220); "
|
||||
"} "
|
||||
"QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { "
|
||||
" height: 0px; "
|
||||
"} "
|
||||
"QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { "
|
||||
" background: none; "
|
||||
"} "
|
||||
"QScrollBar:horizontal { "
|
||||
" border: none; "
|
||||
" background: transparent; "
|
||||
" height: 12px; "
|
||||
" margin: 0px; "
|
||||
"} "
|
||||
"QScrollBar::handle:horizontal { "
|
||||
" background: rgba(16, 124, 16, 180); "
|
||||
" min-width: 20px; "
|
||||
" border-radius: 6px; "
|
||||
"} "
|
||||
"QScrollBar::handle:horizontal:hover { "
|
||||
" background: rgba(16, 124, 16, 220); "
|
||||
"} "
|
||||
"QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { "
|
||||
" width: 0px; "
|
||||
"} "
|
||||
"QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { "
|
||||
" background: none; "
|
||||
"} "
|
||||
// Table headers - Xbox green theme
|
||||
"QHeaderView::section { "
|
||||
" background-color: rgb(45, 45, 45); "
|
||||
" color: white; "
|
||||
" padding: 5px; "
|
||||
" border: 1px solid rgb(80, 80, 80); "
|
||||
"} "
|
||||
"QHeaderView::section:hover { "
|
||||
" background-color: rgb(16, 124, 16); "
|
||||
"} "
|
||||
// Table widgets - Xbox green focus outline
|
||||
"QTableWidget:focus, QTableView:focus { "
|
||||
" border: 2px solid rgb(16, 124, 16); "
|
||||
" outline: none; "
|
||||
"} "
|
||||
"QTableWidget, QTableView { "
|
||||
" border: 1px solid rgb(80, 80, 80); "
|
||||
"} "
|
||||
// Checkboxes - Xbox green theme
|
||||
"QCheckBox::indicator:checked { "
|
||||
" background-color: rgb(16, 124, 16); "
|
||||
" border: 1px solid rgb(16, 124, 16); "
|
||||
"} "
|
||||
"QCheckBox::indicator:hover { "
|
||||
" border: 1px solid rgb(16, 124, 16); "
|
||||
"} "
|
||||
// Input fields - Xbox green focus
|
||||
"QLineEdit:focus, QTextEdit:focus, QPlainTextEdit:focus, QSpinBox:focus, "
|
||||
"QDoubleSpinBox:focus, QComboBox:focus { "
|
||||
" border: 2px solid rgb(16, 124, 16); "
|
||||
" outline: none; "
|
||||
"} "
|
||||
"QLineEdit, QTextEdit, QPlainTextEdit, QSpinBox, QDoubleSpinBox, "
|
||||
"QComboBox { "
|
||||
" border: 1px solid rgb(80, 80, 80); "
|
||||
"} "
|
||||
// ComboBox dropdown - Xbox green theme
|
||||
"QComboBox:hover { "
|
||||
" border: 2px solid rgb(16, 124, 16); "
|
||||
"} "
|
||||
"QComboBox:on { "
|
||||
" border: 2px solid rgb(16, 124, 16); "
|
||||
"} "
|
||||
"QComboBox::drop-down:hover { "
|
||||
" background-color: rgba(16, 124, 16, 100); "
|
||||
"} "
|
||||
"QComboBox QAbstractItemView::item:hover { "
|
||||
" background-color: rgba(16, 124, 16, 80); "
|
||||
"} "
|
||||
// List widgets - Xbox green theme
|
||||
"QListView::item:selected, QTreeView::item:selected { "
|
||||
" background-color: rgb(16, 124, 16); "
|
||||
" color: white; "
|
||||
"} "
|
||||
"QListView::item:hover, QTreeView::item:hover { "
|
||||
" background-color: rgba(16, 124, 16, 80); "
|
||||
"} "
|
||||
// Buttons hover - Xbox green theme
|
||||
"QPushButton:hover { "
|
||||
" background-color: rgba(16, 124, 16, 100); "
|
||||
" border: 1px solid rgb(16, 124, 16); "
|
||||
"} "
|
||||
"QPushButton:pressed { "
|
||||
" background-color: rgb(16, 124, 16); "
|
||||
"} "
|
||||
// Tab widget - Xbox green theme
|
||||
"QTabBar::tab:selected { "
|
||||
" background-color: rgb(16, 124, 16); "
|
||||
" color: white; "
|
||||
"} "
|
||||
"QTabBar::tab:hover { "
|
||||
" background-color: rgba(16, 124, 16, 100); "
|
||||
"}");
|
||||
|
||||
// Set different application name for game processes so they show as separate
|
||||
// dock entries. Check if we have a target file argument (game process) or not
|
||||
|
||||
Reference in New Issue
Block a user