Refine Qt GUI layout and adjust dark theme styling

This commit is contained in:
2026-01-13 11:03:39 +01:00
parent 95962816fb
commit a999ce3d36
3 changed files with 616 additions and 151 deletions

View File

@@ -267,7 +267,7 @@ PalladiumGUI::PalladiumGUI(interfaces::Node& node, const PlatformStyle *_platfor
// Set minimum window size to prevent UI breaking // Set minimum window size to prevent UI breaking
// Must be set AFTER all widgets are configured to ensure it's not overridden // Must be set AFTER all widgets are configured to ensure it's not overridden
setMinimumSize(850, 550); setMinimumSize(950, 550);
} }
PalladiumGUI::~PalladiumGUI() PalladiumGUI::~PalladiumGUI()

View File

@@ -1,18 +1,28 @@
/* ======================================================= /* =======================================================
PALLADIUM CORE DARK THEME - Refined Borders Edition PALLADIUM CORE DARK THEME - Color Only Edition
======================================================= */ ======================================================= */
/* --- BORDER COLOR PALETTE --- /* This stylesheet only overrides colors and inherits all
Subtle borders: #404040 (Separators, discrete lines) dimensional properties (padding, margin, border-radius,
Standard borders: #4A4A4A (Containers, inputs) sizes) from Qt defaults to ensure identical layout
Emphasized borders: #5A5A5A (Focus, active elements) between dark and light themes. */
Hover borders: #606060 (Interactive feedback)
Border Radius Strategy: /* --- COLOR PALETTE ---
Small elements: 5px (Buttons, inputs) Background dark: #2D2D2D (Main background)
Medium elements: 6px (Tabs, cards) Background darker: #1E1E1E (Input fields, tables)
Large elements: 8px (Containers, panels) Background lighter: #3D3D3D (Toolbars, elevated surfaces)
Dialogs/Modals: 10px (Top-level windows)
Text primary: #E0E0E0 (Main text)
Text secondary: #AAAAAA (Muted text)
Text disabled: #6A6A6A (Disabled state)
Borders subtle: #404040 (Separators, discrete lines)
Borders standard: #4A4A4A (Containers, inputs)
Borders emphasized: #5A5A5A (Focus, active elements)
Borders hover: #606060 (Interactive feedback)
Accent primary: #007BFF (Selection, focus, active)
Accent hover: #0069D9 (Accent hover state)
*/ */
/* --- BASE WIDGETS --- */ /* --- BASE WIDGETS --- */
@@ -21,7 +31,6 @@ QWidget {
color: #E0E0E0; color: #E0E0E0;
selection-background-color: #007BFF; selection-background-color: #007BFF;
selection-color: #FFFFFF; selection-color: #FFFFFF;
outline: none;
} }
/* --- MENU BAR --- */ /* --- MENU BAR --- */
@@ -29,14 +38,10 @@ QMenuBar {
background-color: #2D2D2D; background-color: #2D2D2D;
color: #E0E0E0; color: #E0E0E0;
border-bottom: 1px solid #404040; border-bottom: 1px solid #404040;
padding: 2px;
} }
QMenuBar::item { QMenuBar::item {
background-color: transparent; background-color: transparent;
padding: 6px 10px;
border-radius: 5px;
margin: 2px;
} }
QMenuBar::item:selected { QMenuBar::item:selected {
@@ -48,41 +53,26 @@ QMenuBar::item:selected {
QMenu { QMenu {
background-color: #2D2D2D; background-color: #2D2D2D;
border: 1px solid #4A4A4A; border: 1px solid #4A4A4A;
border-radius: 6px;
padding: 4px;
}
QMenu::item {
padding: 6px 20px;
border-radius: 4px;
margin: 2px;
} }
QMenu::item:selected { QMenu::item:selected {
background-color: #007BFF; background-color: #007BFF;
color: white; color: white;
border: 1px solid #007BFF;
} }
QMenu::separator { QMenu::separator {
height: 1px;
background: #404040; background: #404040;
margin: 4px 8px;
} }
/* --- TOOLBAR --- */ /* --- TOOLBAR --- */
QToolBar { QToolBar {
background-color: #3D3D3D; background-color: #3D3D3D;
border-bottom: 1px solid #404040; border-bottom: 1px solid #404040;
padding: 3px;
spacing: 5px;
} }
QToolButton { QToolButton {
background-color: transparent; background-color: transparent;
border: 1px solid transparent; border: 1px solid transparent;
border-radius: 5px;
padding: 5px;
color: #E0E0E0; color: #E0E0E0;
} }
@@ -105,39 +95,25 @@ QToolButton:checked {
/* --- TABS --- */ /* --- TABS --- */
QTabWidget::pane { QTabWidget::pane {
border: 1px solid #4A4A4A; border: 1px solid #4A4A4A;
border-radius: 6px;
background-color: #2D2D2D; background-color: #2D2D2D;
} }
QTabBar::tab { QTabBar::tab {
background: #1E1E1E; background: #1E1E1E;
color: #AAAAAA; color: #AAAAAA;
padding: 8px 20px;
border: 1px solid #4A4A4A; border: 1px solid #4A4A4A;
border-bottom: none;
border-top-left-radius: 6px;
border-top-right-radius: 6px;
margin-right: 2px;
min-width: 80px;
} }
QTabBar::tab:hover { QTabBar::tab:hover {
background: #252525; background: #252525;
color: #E0E0E0; color: #E0E0E0;
border: 1px solid #5A5A5A; border: 1px solid #5A5A5A;
border-bottom: none;
} }
QTabBar::tab:selected { QTabBar::tab:selected {
background: #2D2D2D; background: #2D2D2D;
color: #FFFFFF; color: #FFFFFF;
border: 1px solid #4A4A4A; border: 1px solid #4A4A4A;
border-bottom: 1px solid #2D2D2D;
font-weight: bold;
}
QTabBar::tab:!selected {
margin-top: 2px;
} }
/* --- INPUT FIELDS --- */ /* --- INPUT FIELDS --- */
@@ -145,8 +121,6 @@ QLineEdit, QTextEdit, QPlainTextEdit, QSpinBox, QDoubleSpinBox {
background-color: #1E1E1E; background-color: #1E1E1E;
color: #FFFFFF; color: #FFFFFF;
border: 1px solid #4A4A4A; border: 1px solid #4A4A4A;
border-radius: 5px;
padding: 6px 8px;
selection-background-color: #007BFF; selection-background-color: #007BFF;
} }
@@ -158,9 +132,8 @@ QSpinBox:hover, QDoubleSpinBox:hover {
QLineEdit:focus, QTextEdit:focus, QPlainTextEdit:focus, QLineEdit:focus, QTextEdit:focus, QPlainTextEdit:focus,
QSpinBox:focus, QDoubleSpinBox:focus { QSpinBox:focus, QDoubleSpinBox:focus {
border: 2px solid #007BFF; border: 1px solid #007BFF;
background-color: #252525; background-color: #252525;
padding: 5px 7px; /* Compensate for thicker border */
} }
QLineEdit:disabled, QTextEdit:disabled, QPlainTextEdit:disabled, QLineEdit:disabled, QTextEdit:disabled, QPlainTextEdit:disabled,
@@ -174,9 +147,6 @@ QSpinBox:disabled, QDoubleSpinBox:disabled {
QSpinBox::up-button, QDoubleSpinBox::up-button, QSpinBox::up-button, QDoubleSpinBox::up-button,
QSpinBox::down-button, QDoubleSpinBox::down-button { QSpinBox::down-button, QDoubleSpinBox::down-button {
background-color: transparent; background-color: transparent;
border: none;
border-radius: 3px;
width: 16px;
} }
QSpinBox::up-button:hover, QDoubleSpinBox::up-button:hover, QSpinBox::up-button:hover, QDoubleSpinBox::up-button:hover,
@@ -191,12 +161,11 @@ QTableView, QListView, QTreeWidget, QTreeView {
color: #E0E0E0; color: #E0E0E0;
gridline-color: #404040; gridline-color: #404040;
border: 1px solid #4A4A4A; border: 1px solid #4A4A4A;
border-radius: 6px;
selection-background-color: #007BFF; selection-background-color: #007BFF;
} }
QTableView:focus, QListView:focus, QTreeWidget:focus, QTreeView:focus { QTableView:focus, QListView:focus, QTreeWidget:focus, QTreeView:focus {
border: 2px solid #5A5A5A; border: 1px solid #5A5A5A;
} }
QTableView::item:hover, QListView::item:hover, QTableView::item:hover, QListView::item:hover,
@@ -213,11 +182,9 @@ QTreeWidget::item:selected, QTreeView::item:selected {
QHeaderView::section { QHeaderView::section {
background-color: #333; background-color: #333;
color: #E0E0E0; color: #E0E0E0;
padding: 6px 4px;
border: none; border: none;
border-right: 1px solid #404040; border-right: 1px solid #404040;
border-bottom: 1px solid #4A4A4A; border-bottom: 1px solid #4A4A4A;
font-weight: 600;
} }
QHeaderView::section:hover { QHeaderView::section:hover {
@@ -225,66 +192,36 @@ QHeaderView::section:hover {
border-bottom: 1px solid #5A5A5A; border-bottom: 1px solid #5A5A5A;
} }
QHeaderView::section:first {
border-top-left-radius: 6px;
}
QHeaderView::section:last {
border-right: none;
}
/* --- SCROLLBARS --- */ /* --- SCROLLBARS --- */
QScrollBar:vertical { QScrollBar:vertical {
background: #1E1E1E; background: #1E1E1E;
width: 12px;
border-radius: 6px;
margin: 2px;
} }
QScrollBar::handle:vertical { QScrollBar::handle:vertical {
background: #4A4A4A; background: #4A4A4A;
border-radius: 6px;
min-height: 30px;
} }
QScrollBar::handle:vertical:hover { QScrollBar::handle:vertical:hover {
background: #5A5A5A; background: #5A5A5A;
} }
QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical {
height: 0px;
}
QScrollBar:horizontal { QScrollBar:horizontal {
background: #1E1E1E; background: #1E1E1E;
height: 12px;
border-radius: 6px;
margin: 2px;
} }
QScrollBar::handle:horizontal { QScrollBar::handle:horizontal {
background: #4A4A4A; background: #4A4A4A;
border-radius: 6px;
min-width: 30px;
} }
QScrollBar::handle:horizontal:hover { QScrollBar::handle:horizontal:hover {
background: #5A5A5A; background: #5A5A5A;
} }
QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal {
width: 0px;
}
/* --- BUTTONS --- */ /* --- BUTTONS --- */
QPushButton { QPushButton {
background-color: #444; background-color: #444;
border: 1px solid #5A5A5A; border: 1px solid #5A5A5A;
border-radius: 5px;
padding: 6px 16px;
color: white; color: white;
font-weight: 500;
min-height: 24px;
} }
QPushButton:hover { QPushButton:hover {
@@ -294,8 +231,7 @@ QPushButton:hover {
QPushButton:pressed { QPushButton:pressed {
background-color: #3A3A3A; background-color: #3A3A3A;
border: 2px solid #007BFF; border: 1px solid #007BFF;
padding: 5px 15px; /* Compensate for thicker border */
} }
QPushButton:disabled { QPushButton:disabled {
@@ -317,15 +253,11 @@ QPushButton:default:hover {
/* --- CHECKBOXES --- */ /* --- CHECKBOXES --- */
QCheckBox { QCheckBox {
spacing: 8px;
color: #E0E0E0; color: #E0E0E0;
} }
QCheckBox::indicator { QCheckBox::indicator {
width: 18px;
height: 18px;
border: 1px solid #4A4A4A; border: 1px solid #4A4A4A;
border-radius: 4px;
background-color: #1E1E1E; background-color: #1E1E1E;
} }
@@ -337,7 +269,6 @@ QCheckBox::indicator:hover {
QCheckBox::indicator:checked { QCheckBox::indicator:checked {
background-color: #007BFF; background-color: #007BFF;
border: 1px solid #007BFF; border: 1px solid #007BFF;
image: url(:/icons/check);
} }
QCheckBox::indicator:disabled { QCheckBox::indicator:disabled {
@@ -347,15 +278,11 @@ QCheckBox::indicator:disabled {
/* --- RADIO BUTTONS --- */ /* --- RADIO BUTTONS --- */
QRadioButton { QRadioButton {
spacing: 8px;
color: #E0E0E0; color: #E0E0E0;
} }
QRadioButton::indicator { QRadioButton::indicator {
width: 18px;
height: 18px;
border: 1px solid #4A4A4A; border: 1px solid #4A4A4A;
border-radius: 9px;
background-color: #1E1E1E; background-color: #1E1E1E;
} }
@@ -379,9 +306,6 @@ QComboBox {
background-color: #1E1E1E; background-color: #1E1E1E;
color: #E0E0E0; color: #E0E0E0;
border: 1px solid #4A4A4A; border: 1px solid #4A4A4A;
border-radius: 5px;
padding: 6px 8px;
min-height: 24px;
} }
QComboBox:hover { QComboBox:hover {
@@ -390,16 +314,12 @@ QComboBox:hover {
} }
QComboBox:focus { QComboBox:focus {
border: 2px solid #007BFF; border: 1px solid #007BFF;
padding: 5px 7px; /* Compensate for thicker border */
} }
QComboBox::drop-down { QComboBox::drop-down {
border: none; border: none;
border-left: 1px solid #404040; border-left: 1px solid #404040;
width: 20px;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
} }
QComboBox::drop-down:hover { QComboBox::drop-down:hover {
@@ -410,7 +330,6 @@ QComboBox::drop-down:hover {
QComboBox QAbstractItemView { QComboBox QAbstractItemView {
background-color: #2D2D2D; background-color: #2D2D2D;
border: 1px solid #4A4A4A; border: 1px solid #4A4A4A;
border-radius: 5px;
selection-background-color: #007BFF; selection-background-color: #007BFF;
selection-color: white; selection-color: white;
} }
@@ -419,31 +338,21 @@ QComboBox QAbstractItemView {
QProgressBar { QProgressBar {
background-color: #1E1E1E; background-color: #1E1E1E;
border: 1px solid #4A4A4A; border: 1px solid #4A4A4A;
border-radius: 5px;
text-align: center;
color: #E0E0E0; color: #E0E0E0;
height: 20px;
} }
QProgressBar::chunk { QProgressBar::chunk {
background-color: #007BFF; background-color: #007BFF;
border-radius: 4px;
} }
/* --- SLIDER --- */ /* --- SLIDER --- */
QSlider::groove:horizontal { QSlider::groove:horizontal {
background: #1E1E1E; background: #1E1E1E;
height: 6px;
border-radius: 3px;
border: 1px solid #4A4A4A; border: 1px solid #4A4A4A;
} }
QSlider::handle:horizontal { QSlider::handle:horizontal {
background: #007BFF; background: #007BFF;
width: 16px;
height: 16px;
margin: -6px 0;
border-radius: 8px;
border: 2px solid #007BFF; border: 2px solid #007BFF;
} }
@@ -455,18 +364,11 @@ QSlider::handle:horizontal:hover {
/* --- GROUP BOX --- */ /* --- GROUP BOX --- */
QGroupBox { QGroupBox {
border: 1px solid #4A4A4A; border: 1px solid #4A4A4A;
border-radius: 8px;
margin-top: 12px;
padding-top: 10px;
font-weight: 600;
color: #E0E0E0; color: #E0E0E0;
} }
QGroupBox::title { QGroupBox::title {
color: #E0E0E0; color: #E0E0E0;
subcontrol-origin: margin;
subcontrol-position: top left;
padding: 0 8px;
background-color: #2D2D2D; background-color: #2D2D2D;
} }
@@ -479,14 +381,6 @@ QSplitter::handle:hover {
background-color: #5A5A5A; background-color: #5A5A5A;
} }
QSplitter::handle:horizontal {
width: 2px;
}
QSplitter::handle:vertical {
height: 2px;
}
/* --- STATUS BAR --- */ /* --- STATUS BAR --- */
QStatusBar { QStatusBar {
background-color: #2D2D2D; background-color: #2D2D2D;
@@ -503,30 +397,20 @@ QToolTip {
background-color: #3A3A3A; background-color: #3A3A3A;
color: #E0E0E0; color: #E0E0E0;
border: 1px solid #5A5A5A; border: 1px solid #5A5A5A;
border-radius: 5px;
padding: 4px 8px;
}
/* --- DIALOG BUTTONS --- */
QDialogButtonBox QPushButton {
min-width: 80px;
} }
/* --- FRAME --- */ /* --- FRAME --- */
QFrame[frameShape="StyledPanel"], QFrame[frameShape="StyledPanel"],
QFrame[frameShape="Box"] { QFrame[frameShape="Box"] {
border: 1px solid #4A4A4A; border-color: #4A4A4A;
border-radius: 6px;
} }
QFrame[frameShape="HLine"] { QFrame[frameShape="HLine"] {
border: none; border-top-color: #404040;
border-top: 1px solid #404040;
} }
QFrame[frameShape="VLine"] { QFrame[frameShape="VLine"] {
border: none; border-left-color: #404040;
border-left: 1px solid #404040;
} }
/* --- SEND COINS ENTRY (Dark Mode Fix) --- */ /* --- SEND COINS ENTRY (Dark Mode Fix) --- */
@@ -534,7 +418,6 @@ QFrame[frameShape="VLine"] {
QFrame#SendCoins_UnauthenticatedPaymentRequest { QFrame#SendCoins_UnauthenticatedPaymentRequest {
background-color: #3A3A00; /* Dark yellow/warning background */ background-color: #3A3A00; /* Dark yellow/warning background */
border: 1px solid #5A5A00; border: 1px solid #5A5A00;
border-radius: 6px;
color: #FFFF99; /* Light yellow text */ color: #FFFF99; /* Light yellow text */
} }
@@ -549,8 +432,6 @@ PalladiumAmountField QAbstractSpinBox {
background-color: #1E1E1E; background-color: #1E1E1E;
color: #FFFFFF; color: #FFFFFF;
border: 1px solid #4A4A4A; border: 1px solid #4A4A4A;
border-radius: 5px;
padding: 6px 8px;
} }
PalladiumAmountField QAbstractSpinBox:hover { PalladiumAmountField QAbstractSpinBox:hover {
@@ -559,19 +440,21 @@ PalladiumAmountField QAbstractSpinBox:hover {
} }
PalladiumAmountField QAbstractSpinBox:focus { PalladiumAmountField QAbstractSpinBox:focus {
border: 2px solid #007BFF; border: 1px solid #007BFF;
background-color: #252525; background-color: #252525;
padding: 5px 7px;
} }
PalladiumAmountField QComboBox { PalladiumAmountField QComboBox {
background-color: #1E1E1E; background-color: #1E1E1E;
color: #E0E0E0; color: #E0E0E0;
border: 1px solid #4A4A4A; border: 1px solid #4A4A4A;
border-radius: 5px;
} }
PalladiumAmountField QComboBox:hover { PalladiumAmountField QComboBox:hover {
border: 1px solid #5A5A5A; border: 1px solid #5A5A5A;
background-color: #252525; background-color: #252525;
} }
PalladiumAmountField QComboBox:focus {
border: 1px solid #007BFF;
}

View File

@@ -0,0 +1,582 @@
/* =======================================================
PALLADIUM CORE DARK THEME - Refined Borders Edition
======================================================= */
/* --- BORDER COLOR PALETTE ---
Subtle borders: #404040 (Separators, discrete lines)
Standard borders: #4A4A4A (Containers, inputs)
Emphasized borders: #5A5A5A (Focus, active elements)
Hover borders: #606060 (Interactive feedback)
Border Radius Strategy:
Small elements: 5px (Buttons, inputs)
Medium elements: 6px (Tabs, cards)
Large elements: 8px (Containers, panels)
Dialogs/Modals: 10px (Top-level windows)
*/
/* --- BASE WIDGETS --- */
QWidget {
background-color: #2D2D2D;
color: #E0E0E0;
selection-background-color: #007BFF;
selection-color: #FFFFFF;
outline: none;
}
/* --- MENU BAR --- */
QMenuBar {
background-color: #2D2D2D;
color: #E0E0E0;
border-bottom: 1px solid #404040;
padding: 2px;
}
QMenuBar::item {
background-color: transparent;
padding: 6px 10px;
border-radius: 5px;
margin: 2px;
}
QMenuBar::item:selected {
background-color: #3A3A3A;
border: 1px solid #4A4A4A;
}
/* --- MENUS --- */
QMenu {
background-color: #2D2D2D;
border: 1px solid #4A4A4A;
border-radius: 6px;
padding: 4px;
}
QMenu::item {
padding: 6px 20px;
border-radius: 4px;
margin: 2px;
}
QMenu::item:selected {
background-color: #007BFF;
color: white;
border: 1px solid #007BFF;
}
QMenu::separator {
height: 1px;
background: #404040;
margin: 4px 8px;
}
/* --- TOOLBAR --- */
QToolBar {
background-color: #3D3D3D;
border-bottom: 1px solid #404040;
padding: 3px;
spacing: 5px;
}
QToolButton {
background-color: transparent;
border: 1px solid transparent;
border-radius: 5px;
padding: 5px;
color: #E0E0E0;
}
QToolButton:hover {
background-color: #4D4D4D;
border: 1px solid #5A5A5A;
}
QToolButton:pressed {
background-color: #3A3A3A;
border: 1px solid #606060;
}
QToolButton:checked {
background-color: #007BFF;
color: white;
border: 1px solid #007BFF;
}
/* --- TABS --- */
QTabWidget::pane {
border: 1px solid #4A4A4A;
border-radius: 6px;
background-color: #2D2D2D;
}
QTabBar::tab {
background: #1E1E1E;
color: #AAAAAA;
padding: 8px 20px;
border: 1px solid #4A4A4A;
border-bottom: none;
border-top-left-radius: 6px;
border-top-right-radius: 6px;
margin-right: 2px;
min-width: 80px;
}
QTabBar::tab:hover {
background: #252525;
color: #E0E0E0;
border: 1px solid #5A5A5A;
border-bottom: none;
}
QTabBar::tab:selected {
background: #2D2D2D;
color: #FFFFFF;
border: 1px solid #4A4A4A;
border-bottom: 1px solid #2D2D2D;
font-weight: bold;
}
QTabBar::tab:!selected {
margin-top: 2px;
}
/* --- INPUT FIELDS --- */
QLineEdit, QTextEdit, QPlainTextEdit, QSpinBox, QDoubleSpinBox {
background-color: #1E1E1E;
color: #FFFFFF;
border: 1px solid #4A4A4A;
border-radius: 5px;
padding: 6px 8px;
selection-background-color: #007BFF;
}
QLineEdit:hover, QTextEdit:hover, QPlainTextEdit:hover,
QSpinBox:hover, QDoubleSpinBox:hover {
border: 1px solid #5A5A5A;
background-color: #252525;
}
QLineEdit:focus, QTextEdit:focus, QPlainTextEdit:focus,
QSpinBox:focus, QDoubleSpinBox:focus {
border: 1px solid #007BFF; /* Keep 1px to prevent layout shift */
background-color: #252525;
}
QLineEdit:disabled, QTextEdit:disabled, QPlainTextEdit:disabled,
QSpinBox:disabled, QDoubleSpinBox:disabled {
background-color: #1E1E1E;
color: #6A6A6A;
border: 1px solid #404040;
}
/* --- SPIN BOX BUTTONS --- */
QSpinBox::up-button, QDoubleSpinBox::up-button,
QSpinBox::down-button, QDoubleSpinBox::down-button {
background-color: transparent;
border: none;
border-radius: 3px;
width: 16px;
}
QSpinBox::up-button:hover, QDoubleSpinBox::up-button:hover,
QSpinBox::down-button:hover, QDoubleSpinBox::down-button:hover {
background-color: #3A3A3A;
}
/* --- LISTS & TABLES --- */
QTableView, QListView, QTreeWidget, QTreeView {
background-color: #1E1E1E;
alternate-background-color: #252525;
color: #E0E0E0;
gridline-color: #404040;
border: 1px solid #4A4A4A;
border-radius: 6px;
selection-background-color: #007BFF;
}
QTableView:focus, QListView:focus, QTreeWidget:focus, QTreeView:focus {
border: 1px solid #5A5A5A; /* Keep 1px to prevent layout shift */
}
QTableView::item:hover, QListView::item:hover,
QTreeWidget::item:hover, QTreeView::item:hover {
background-color: #3A3A3A;
}
QTableView::item:selected, QListView::item:selected,
QTreeWidget::item:selected, QTreeView::item:selected {
background-color: #007BFF;
color: #FFFFFF;
}
QHeaderView::section {
background-color: #333;
color: #E0E0E0;
padding: 6px 4px;
border: none;
border-right: 1px solid #404040;
border-bottom: 1px solid #4A4A4A;
font-weight: 600;
}
QHeaderView::section:hover {
background-color: #3A3A3A;
border-bottom: 1px solid #5A5A5A;
}
QHeaderView::section:first {
border-top-left-radius: 6px;
}
QHeaderView::section:last {
border-right: none;
}
/* --- SCROLLBARS --- */
QScrollBar:vertical {
background: #1E1E1E;
width: 12px;
border-radius: 6px;
margin: 2px;
}
QScrollBar::handle:vertical {
background: #4A4A4A;
border-radius: 6px;
min-height: 30px;
}
QScrollBar::handle:vertical:hover {
background: #5A5A5A;
}
QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical {
height: 0px;
}
QScrollBar:horizontal {
background: #1E1E1E;
height: 12px;
border-radius: 6px;
margin: 2px;
}
QScrollBar::handle:horizontal {
background: #4A4A4A;
border-radius: 6px;
min-width: 30px;
}
QScrollBar::handle:horizontal:hover {
background: #5A5A5A;
}
QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal {
width: 0px;
}
/* --- BUTTONS --- */
QPushButton {
background-color: #444;
border: 1px solid #5A5A5A;
border-radius: 5px;
padding: 6px 16px;
color: white;
font-weight: 500;
min-height: 24px;
}
QPushButton:hover {
background-color: #555;
border: 1px solid #606060;
}
QPushButton:pressed {
background-color: #3A3A3A;
border: 1px solid #007BFF; /* Keep 1px to prevent layout shift */
}
QPushButton:disabled {
background-color: #2D2D2D;
color: #6A6A6A;
border: 1px solid #404040;
}
QPushButton:default {
background-color: #007BFF;
color: white;
border: 1px solid #007BFF;
}
QPushButton:default:hover {
background-color: #0069D9;
border: 1px solid #0069D9;
}
/* --- CHECKBOXES --- */
QCheckBox {
spacing: 8px;
color: #E0E0E0;
}
QCheckBox::indicator {
width: 18px;
height: 18px;
border: 1px solid #4A4A4A;
border-radius: 4px;
background-color: #1E1E1E;
}
QCheckBox::indicator:hover {
border: 1px solid #5A5A5A;
background-color: #252525;
}
QCheckBox::indicator:checked {
background-color: #007BFF;
border: 1px solid #007BFF;
image: url(:/icons/check);
}
QCheckBox::indicator:disabled {
background-color: #1E1E1E;
border: 1px solid #404040;
}
/* --- RADIO BUTTONS --- */
QRadioButton {
spacing: 8px;
color: #E0E0E0;
}
QRadioButton::indicator {
width: 18px;
height: 18px;
border: 1px solid #4A4A4A;
border-radius: 9px;
background-color: #1E1E1E;
}
QRadioButton::indicator:hover {
border: 1px solid #5A5A5A;
background-color: #252525;
}
QRadioButton::indicator:checked {
background-color: #007BFF;
border: 2px solid #007BFF;
}
QRadioButton::indicator:disabled {
background-color: #1E1E1E;
border: 1px solid #404040;
}
/* --- COMBO BOX --- */
QComboBox {
background-color: #1E1E1E;
color: #E0E0E0;
border: 1px solid #4A4A4A;
border-radius: 5px;
padding: 6px 8px;
min-height: 24px;
}
QComboBox:hover {
border: 1px solid #5A5A5A;
background-color: #252525;
}
QComboBox:focus {
border: 1px solid #007BFF; /* Keep 1px to prevent layout shift */
}
QComboBox::drop-down {
border: none;
border-left: 1px solid #404040;
width: 20px;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
}
QComboBox::drop-down:hover {
background-color: #3A3A3A;
border-left: 1px solid #5A5A5A;
}
QComboBox QAbstractItemView {
background-color: #2D2D2D;
border: 1px solid #4A4A4A;
border-radius: 5px;
selection-background-color: #007BFF;
selection-color: white;
}
/* --- PROGRESS BAR --- */
QProgressBar {
background-color: #1E1E1E;
border: 1px solid #4A4A4A;
border-radius: 5px;
text-align: center;
color: #E0E0E0;
height: 20px;
}
QProgressBar::chunk {
background-color: #007BFF;
border-radius: 4px;
}
/* --- SLIDER --- */
QSlider::groove:horizontal {
background: #1E1E1E;
height: 6px;
border-radius: 3px;
border: 1px solid #4A4A4A;
}
QSlider::handle:horizontal {
background: #007BFF;
width: 16px;
height: 16px;
margin: -6px 0;
border-radius: 8px;
border: 2px solid #007BFF;
}
QSlider::handle:horizontal:hover {
background: #0069D9;
border: 2px solid #0069D9;
}
/* --- GROUP BOX --- */
QGroupBox {
border: 1px solid #4A4A4A;
border-radius: 8px;
margin-top: 12px;
padding-top: 10px;
font-weight: 600;
color: #E0E0E0;
}
QGroupBox::title {
color: #E0E0E0;
subcontrol-origin: margin;
subcontrol-position: top left;
padding: 0 8px;
background-color: #2D2D2D;
}
/* --- SPLITTER --- */
QSplitter::handle {
background-color: #4A4A4A;
}
QSplitter::handle:hover {
background-color: #5A5A5A;
}
QSplitter::handle:horizontal {
width: 2px;
}
QSplitter::handle:vertical {
height: 2px;
}
/* --- STATUS BAR --- */
QStatusBar {
background-color: #2D2D2D;
color: #888;
border-top: 1px solid #404040;
}
QStatusBar::item {
border: none;
}
/* --- TOOLTIPS --- */
QToolTip {
background-color: #3A3A3A;
color: #E0E0E0;
border: 1px solid #5A5A5A;
border-radius: 5px;
padding: 4px 8px;
}
/* --- DIALOG BUTTONS --- */
QDialogButtonBox QPushButton {
min-width: 80px;
}
/* --- FRAME --- */
QFrame[frameShape="StyledPanel"],
QFrame[frameShape="Box"] {
border: 1px solid #4A4A4A;
border-radius: 6px;
}
QFrame[frameShape="HLine"] {
border: none;
border-top: 1px solid #404040;
}
QFrame[frameShape="VLine"] {
border: none;
border-left: 1px solid #404040;
}
/* --- SEND COINS ENTRY (Dark Mode Fix) --- */
/* Payment request warning frame */
QFrame#SendCoins_UnauthenticatedPaymentRequest {
background-color: #3A3A00; /* Dark yellow/warning background */
border: 1px solid #5A5A00;
border-radius: 6px;
color: #FFFF99; /* Light yellow text */
}
QFrame#SendCoins_UnauthenticatedPaymentRequest QLabel {
color: #FFFF99; /* Light yellow text for labels */
background-color: transparent;
}
/* --- PALLADIUM AMOUNT FIELD (Dark Mode Fix) --- */
/* Fix for Amount field background in Send/Receive pages */
PalladiumAmountField QAbstractSpinBox {
background-color: #1E1E1E;
color: #FFFFFF;
border: 1px solid #4A4A4A;
border-radius: 5px;
padding: 6px 8px;
/* Fixed size to prevent layout shift between modes */
min-height: 24px;
}
PalladiumAmountField QAbstractSpinBox:hover {
border: 1px solid #5A5A5A;
background-color: #252525;
}
PalladiumAmountField QAbstractSpinBox:focus {
border: 1px solid #007BFF; /* Keep 1px to prevent size change */
background-color: #252525;
}
PalladiumAmountField QComboBox {
background-color: #1E1E1E;
color: #E0E0E0;
border: 1px solid #4A4A4A;
border-radius: 5px;
padding: 6px 8px;
/* Fixed size to prevent layout shift between modes */
min-height: 24px;
}
PalladiumAmountField QComboBox:hover {
border: 1px solid #5A5A5A;
background-color: #252525;
}
PalladiumAmountField QComboBox:focus {
border: 1px solid #007BFF; /* Keep 1px to prevent size change */
}