Initial commit
Dieser Commit ist enthalten in:
1
resources/themes/dark.qss
Normale Datei
1
resources/themes/dark.qss
Normale Datei
@ -0,0 +1 @@
|
||||
/* Auto-generated empty stylesheet */
|
||||
535
resources/themes/light.qss
Normale Datei
535
resources/themes/light.qss
Normale Datei
@ -0,0 +1,535 @@
|
||||
/*
|
||||
* AccountForger Light Mode Theme
|
||||
* Based on IntelSight Corporate Design System
|
||||
* Adapted from Dark Mode guidelines for Light Mode usage
|
||||
*/
|
||||
|
||||
/* ==================== MAIN WINDOW ==================== */
|
||||
QMainWindow {
|
||||
background-color: #FFFFFF;
|
||||
color: #1E1E1E;
|
||||
}
|
||||
|
||||
/* ==================== TYPOGRAPHY ==================== */
|
||||
/* Note: Poppins should be loaded via application, fallback to system fonts */
|
||||
QWidget {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
|
||||
font-size: 14px;
|
||||
color: #1E1E1E;
|
||||
}
|
||||
|
||||
/* ==================== HEADERS & LABELS ==================== */
|
||||
QLabel {
|
||||
color: #1E1E1E;
|
||||
background-color: transparent;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
/* Title Labels - Using darker primary color for light mode */
|
||||
QLabel#platform_title {
|
||||
font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
color: #232D53;
|
||||
padding: 16px;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
|
||||
/* ==================== BUTTONS ==================== */
|
||||
/* Primary Button - Based on accent color */
|
||||
QPushButton {
|
||||
background-color: #0099CC; /* Darker cyan for better contrast */
|
||||
color: #FFFFFF;
|
||||
border: none;
|
||||
border-radius: 24px;
|
||||
padding: 0 32px;
|
||||
font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
min-height: 48px;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
QPushButton:hover {
|
||||
background-color: #0078A3;
|
||||
margin-top: -2px;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
QPushButton:pressed {
|
||||
background-color: #005C7A;
|
||||
padding: 13px 23px;
|
||||
}
|
||||
|
||||
QPushButton:disabled {
|
||||
background-color: #E0E0E0;
|
||||
color: #999999;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
/* Secondary Button */
|
||||
QPushButton#secondary_button {
|
||||
background-color: transparent;
|
||||
color: #232D53;
|
||||
border: 1px solid #232D53;
|
||||
}
|
||||
|
||||
QPushButton#secondary_button:hover {
|
||||
background-color: #232D53;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
/* Icon Buttons */
|
||||
QPushButton#icon_button {
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
border-radius: 8px;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
QPushButton#icon_button:hover {
|
||||
background-color: #F0F4FF;
|
||||
}
|
||||
|
||||
/* ==================== INPUT FIELDS ==================== */
|
||||
QLineEdit, QSpinBox, QTextEdit, QPlainTextEdit {
|
||||
background-color: #F5F7FF;
|
||||
color: #1E1E1E;
|
||||
border: 1px solid #E0E6FF;
|
||||
border-radius: 8px;
|
||||
padding: 12px 16px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
QLineEdit:focus, QSpinBox:focus, QTextEdit:focus, QPlainTextEdit:focus {
|
||||
background-color: #FFFFFF;
|
||||
border: 2px solid #0099CC;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
QLineEdit:disabled, QSpinBox:disabled, QTextEdit:disabled {
|
||||
background-color: #F0F0F0;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
/* Placeholder text */
|
||||
QLineEdit {
|
||||
selection-background-color: #CCE8FF;
|
||||
selection-color: #1E1E1E;
|
||||
}
|
||||
|
||||
/* ==================== DROPDOWNS / COMBOBOX ==================== */
|
||||
QComboBox {
|
||||
background-color: #F5F7FF;
|
||||
color: #1E1E1E;
|
||||
border: 1px solid #E0E6FF;
|
||||
border-radius: 8px;
|
||||
padding: 8px 16px;
|
||||
min-height: 32px;
|
||||
}
|
||||
|
||||
QComboBox:hover {
|
||||
border: 1px solid #0099CC;
|
||||
}
|
||||
|
||||
QComboBox:focus {
|
||||
border: 2px solid #0099CC;
|
||||
}
|
||||
|
||||
QComboBox::drop-down {
|
||||
border: none;
|
||||
width: 20px;
|
||||
}
|
||||
|
||||
QComboBox::down-arrow {
|
||||
image: url(:/icons/arrow-down.svg);
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
}
|
||||
|
||||
QComboBox QAbstractItemView {
|
||||
background-color: #FFFFFF;
|
||||
border: 1px solid #E0E6FF;
|
||||
border-radius: 8px;
|
||||
selection-background-color: #E8EBFF;
|
||||
selection-color: #1E1E1E;
|
||||
}
|
||||
|
||||
/* ==================== CHECKBOXES & RADIO BUTTONS ==================== */
|
||||
QCheckBox, QRadioButton {
|
||||
spacing: 8px;
|
||||
color: #1E1E1E;
|
||||
}
|
||||
|
||||
QCheckBox::indicator, QRadioButton::indicator {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border: 2px solid #232D53;
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
QCheckBox::indicator {
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
QRadioButton::indicator {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
QCheckBox::indicator:checked, QRadioButton::indicator:checked {
|
||||
background-color: #0099CC;
|
||||
border-color: #0099CC;
|
||||
}
|
||||
|
||||
QCheckBox::indicator:checked {
|
||||
image: url(:/icons/check-white.svg);
|
||||
}
|
||||
|
||||
QRadioButton::indicator:checked {
|
||||
background-color: #0099CC;
|
||||
}
|
||||
|
||||
QRadioButton::indicator:checked::after {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 4px;
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
/* ==================== GROUP BOXES ==================== */
|
||||
QGroupBox {
|
||||
background-color: #F5F7FF;
|
||||
border: 1px solid #E0E6FF;
|
||||
border-radius: 16px;
|
||||
padding: 32px;
|
||||
margin-top: 16px;
|
||||
font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
QGroupBox::title {
|
||||
color: #232D53;
|
||||
font-size: 16px;
|
||||
subcontrol-origin: margin;
|
||||
left: 16px;
|
||||
padding: 0 8px;
|
||||
background-color: #F5F7FF;
|
||||
}
|
||||
|
||||
/* ==================== TABS ==================== */
|
||||
QTabWidget::pane {
|
||||
background-color: #FFFFFF;
|
||||
border: 1px solid #E0E6FF;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
QTabBar::tab {
|
||||
background-color: transparent;
|
||||
color: #666666;
|
||||
padding: 12px 24px;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
border: none;
|
||||
}
|
||||
|
||||
QTabBar::tab:hover {
|
||||
background-color: #F0F4FF;
|
||||
color: #232D53;
|
||||
}
|
||||
|
||||
QTabBar::tab:selected {
|
||||
color: #232D53;
|
||||
background-color: transparent;
|
||||
border-bottom: 2px solid #0099CC;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* ==================== TABLES ==================== */
|
||||
QTableWidget {
|
||||
background-color: #FFFFFF;
|
||||
alternate-background-color: #F9FAFE;
|
||||
gridline-color: #E0E6FF;
|
||||
border: 1px solid #E0E6FF;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
QTableWidget::item {
|
||||
padding: 12px 16px;
|
||||
color: #1E1E1E;
|
||||
}
|
||||
|
||||
QTableWidget::item:selected {
|
||||
background-color: #E8EBFF;
|
||||
color: #232D53;
|
||||
}
|
||||
|
||||
QHeaderView::section {
|
||||
background-color: #232D53;
|
||||
color: #FFFFFF;
|
||||
padding: 12px 16px;
|
||||
border: none;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
font-size: 13px;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
/* ==================== SCROLLBARS ==================== */
|
||||
QScrollBar:vertical {
|
||||
background-color: #F5F7FF;
|
||||
width: 8px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
QScrollBar::handle:vertical {
|
||||
background-color: #0099CC;
|
||||
min-height: 20px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
QScrollBar::handle:vertical:hover {
|
||||
background-color: #0078A3;
|
||||
}
|
||||
|
||||
QScrollBar:horizontal {
|
||||
background-color: #F5F7FF;
|
||||
height: 8px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
QScrollBar::handle:horizontal {
|
||||
background-color: #0099CC;
|
||||
min-width: 20px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
QScrollBar::add-line, QScrollBar::sub-line {
|
||||
border: none;
|
||||
background: none;
|
||||
}
|
||||
|
||||
/* ==================== PROGRESS BAR ==================== */
|
||||
QProgressBar {
|
||||
background-color: #F5F7FF;
|
||||
border: 1px solid #E0E6FF;
|
||||
border-radius: 4px;
|
||||
height: 8px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
QProgressBar::chunk {
|
||||
background-color: #0099CC;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
/* ==================== STATUS BAR ==================== */
|
||||
QStatusBar {
|
||||
background-color: #F5F7FF;
|
||||
color: #666666;
|
||||
font-size: 13px;
|
||||
padding: 8px;
|
||||
border-top: 1px solid #E0E6FF;
|
||||
}
|
||||
|
||||
/* ==================== MENU BAR ==================== */
|
||||
QMenuBar {
|
||||
background-color: #FFFFFF;
|
||||
color: #1E1E1E;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
QMenuBar::item {
|
||||
padding: 8px 16px;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
QMenuBar::item:selected {
|
||||
background-color: #E8EBFF;
|
||||
color: #232D53;
|
||||
}
|
||||
|
||||
QMenu {
|
||||
background-color: #FFFFFF;
|
||||
border: 1px solid #E0E6FF;
|
||||
border-radius: 8px;
|
||||
padding: 8px 0;
|
||||
}
|
||||
|
||||
QMenu::item {
|
||||
padding: 8px 32px;
|
||||
color: #1E1E1E;
|
||||
}
|
||||
|
||||
QMenu::item:selected {
|
||||
background-color: #E8EBFF;
|
||||
color: #232D53;
|
||||
}
|
||||
|
||||
/* ==================== TOOLTIPS ==================== */
|
||||
QToolTip {
|
||||
background-color: #232D53;
|
||||
color: #FFFFFF;
|
||||
border: 1px solid #0099CC;
|
||||
border-radius: 8px;
|
||||
padding: 8px 12px;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
/* ==================== DIALOGS ==================== */
|
||||
QDialog {
|
||||
background-color: #FFFFFF;
|
||||
color: #1E1E1E;
|
||||
}
|
||||
|
||||
/* Dialog Title Bar */
|
||||
QDialog QWidget#title_bar {
|
||||
background-color: #232D53;
|
||||
min-height: 40px;
|
||||
border-radius: 8px 8px 0 0;
|
||||
}
|
||||
|
||||
/* ==================== MESSAGE BOXES ==================== */
|
||||
QMessageBox {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
QMessageBox QLabel {
|
||||
color: #1E1E1E;
|
||||
}
|
||||
|
||||
/* QMessageBox Buttons - Spezifisches Styling */
|
||||
QMessageBox QPushButton {
|
||||
background-color: #F5F5F5;
|
||||
color: #1E1E1E;
|
||||
border: 1px solid #CCCCCC;
|
||||
border-radius: 4px;
|
||||
padding: 6px 20px;
|
||||
min-width: 80px;
|
||||
min-height: 26px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
QMessageBox QPushButton:hover {
|
||||
background-color: #E0E0E0;
|
||||
border-color: #999999;
|
||||
}
|
||||
|
||||
QMessageBox QPushButton:pressed {
|
||||
background-color: #D0D0D0;
|
||||
border-color: #666666;
|
||||
}
|
||||
|
||||
/* Löschen Button - Rote Akzentfarbe */
|
||||
QMessageBox QPushButton[text="Löschen"] {
|
||||
background-color: #F44336;
|
||||
color: #FFFFFF;
|
||||
border: 1px solid #D32F2F;
|
||||
}
|
||||
|
||||
QMessageBox QPushButton[text="Löschen"]:hover {
|
||||
background-color: #D32F2F;
|
||||
border-color: #B71C1C;
|
||||
}
|
||||
|
||||
QMessageBox QPushButton[text="Löschen"]:pressed {
|
||||
background-color: #B71C1C;
|
||||
}
|
||||
|
||||
/* ==================== SPECIAL COLORS ==================== */
|
||||
/* Success */
|
||||
.success {
|
||||
color: #4CAF50;
|
||||
}
|
||||
|
||||
/* Error */
|
||||
.error {
|
||||
color: #F44336;
|
||||
}
|
||||
|
||||
/* Warning */
|
||||
.warning {
|
||||
color: #FF9800;
|
||||
}
|
||||
|
||||
/* Info */
|
||||
.info {
|
||||
color: #2196F3;
|
||||
}
|
||||
|
||||
/* ==================== PLATFORM SELECTOR ==================== */
|
||||
/* Platform cards */
|
||||
QWidget#platform_card {
|
||||
background-color: #F5F7FF;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 16px;
|
||||
padding: 32px;
|
||||
}
|
||||
|
||||
QWidget#platform_card:hover {
|
||||
background-color: #E8EBFF;
|
||||
border: 2px solid #0099CC;
|
||||
margin-top: -1px;
|
||||
}
|
||||
|
||||
/* ==================== LOG OUTPUT ==================== */
|
||||
QTextEdit#log_output {
|
||||
background-color: #F9FAFE;
|
||||
color: #1E1E1E;
|
||||
font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', monospace;
|
||||
font-size: 13px;
|
||||
border: 1px solid #E0E6FF;
|
||||
border-radius: 8px;
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
/* ==================== BADGES & TAGS ==================== */
|
||||
QLabel#badge {
|
||||
background-color: #E8EBFF;
|
||||
color: #232D53;
|
||||
padding: 4px 12px;
|
||||
border-radius: 12px;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
QLabel#badge_primary {
|
||||
background-color: #0099CC;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
QLabel#badge_success {
|
||||
background-color: #4CAF50;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
QLabel#badge_warning {
|
||||
background-color: #FF9800;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
QLabel#badge_error {
|
||||
background-color: #F44336;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
/* ==================== SPACING & LAYOUT ==================== */
|
||||
/* Container padding */
|
||||
QWidget#main_container {
|
||||
padding: 40px;
|
||||
}
|
||||
|
||||
/* Card spacing */
|
||||
QWidget#card_container {
|
||||
margin: 24px;
|
||||
}
|
||||
|
||||
/* ==================== TRANSITIONS ==================== */
|
||||
/* Note: Qt doesn't support CSS transitions directly,
|
||||
but these are documented for custom implementation */
|
||||
* {
|
||||
/* Standard transition: all 0.3s ease */
|
||||
/* Fast transition: all 0.2s ease (for smaller elements) */
|
||||
}
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren