|
| 1 | +/* PyCompiler ARK++ — Misty Forest (ui/themes/misty_forest.qss) |
| 2 | + Thème sombre inspiré par une forêt brumeuse, avec des tons de vert profond et des accents vifs. |
| 3 | +*/ |
| 4 | + |
| 5 | +/* Palette de référence |
| 6 | + --base-bg: #263238 (Vert foncé - fond principal) |
| 7 | + --panel-bg: #1E2B22 (Vert très foncé - panneaux) |
| 8 | + --text: #A7B8B0 (Gris brumeux - texte principal) |
| 9 | + --text-bright: #FFFFFF (Blanc - pour les titres et textes importants) |
| 10 | + --muted: #66BB6A (Vert clair - texte atténué) |
| 11 | + --border: #1E2B22 (Bords - identique aux panneaux pour un look intégré) |
| 12 | + --soft: #2A3A2F (Hover/panneaux légers) |
| 13 | + --accent1: #4CAF50 (Vert accent principal) |
| 14 | + --accent2: #66BB6A (Vert clair) |
| 15 | + --select: #304D30 (Sélection) |
| 16 | +*/ |
| 17 | + |
| 18 | +/* Base */ |
| 19 | +QWidget { |
| 20 | + background: #263238; |
| 21 | + color: #A7B8B0; |
| 22 | + font-family: "Segoe UI", "Noto Sans", "DejaVu Sans", Arial, sans-serif; |
| 23 | + font-size: 10pt; |
| 24 | +} |
| 25 | + |
| 26 | +QToolTip { |
| 27 | + background-color: #1E2B22; |
| 28 | + color: #FFFFFF; |
| 29 | + border: 1px solid #2A3A2F; |
| 30 | + border-radius: 8px; |
| 31 | + padding: 6px 10px; |
| 32 | +} |
| 33 | + |
| 34 | +/* Titres / labels clés */ |
| 35 | +QLabel[objectName="label_workspace_section"], |
| 36 | +QLabel[objectName="label_files_section"], |
| 37 | +QLabel[objectName="label_logs_section"] { |
| 38 | + font-weight: 600; |
| 39 | + color: #FFFFFF; |
| 40 | +} |
| 41 | + |
| 42 | +/* Boutons */ |
| 43 | +QPushButton { |
| 44 | + background: #1E2B22; |
| 45 | + color: #FFFFFF; |
| 46 | + border: 1px solid #2A3A2F; |
| 47 | + border-radius: 10px; |
| 48 | + padding: 8px 14px; |
| 49 | +} |
| 50 | +QPushButton:hover { background: #2A3A2F; } |
| 51 | +QPushButton:pressed { background: #1A261E; } |
| 52 | +QPushButton:disabled { color: #6A7A72; background: #2A3A2F; } |
| 53 | + |
| 54 | +/* Bouton principal (vert accent) */ |
| 55 | +QPushButton#btn_build_all { |
| 56 | + background: #4CAF50; |
| 57 | + color: #FFFFFF; |
| 58 | + border: 1px solid #66BB6A; |
| 59 | +} |
| 60 | +QPushButton#btn_build_all:hover { background: #66BB6A; } |
| 61 | +QPushButton#btn_cancel_all { |
| 62 | + background: #4A2A2A; color: #FFC6CD; border: 1px solid #5E3630; |
| 63 | +} |
| 64 | +QPushButton#btn_cancel_all:hover { background: #5E3630; } |
| 65 | + |
| 66 | +/* Cases à cocher */ |
| 67 | +QCheckBox { color: #A7B8B0; } |
| 68 | +QCheckBox::indicator { width: 18px; height: 18px; } |
| 69 | +QCheckBox::indicator:unchecked { background: #1E2B22; border: 1px solid #2A3A2F; border-radius: 6px; } |
| 70 | +QCheckBox::indicator:checked { background: #4CAF50; border: 1px solid #66BB6A; } |
| 71 | + |
| 72 | +/* Radio */ |
| 73 | +QRadioButton { color: #A7B8B0; } |
| 74 | +QRadioButton::indicator { width: 16px; height: 16px; border: 1px solid #2A3A2F; border-radius: 8px; background: #1E2B22; } |
| 75 | +QRadioButton::indicator:checked { background: #66BB6A; border-color: #4CAF50; } |
| 76 | + |
| 77 | +/* Entrées texte */ |
| 78 | +QLineEdit, QTextEdit, QPlainTextEdit { |
| 79 | + background: #1E2B22; color: #FFFFFF; border: 1px solid #2A3A2F; border-radius: 10px; padding: 6px 12px; |
| 80 | +} |
| 81 | +QLineEdit:focus, QTextEdit:focus, QPlainTextEdit:focus { border-color: #4CAF50; } |
| 82 | + |
| 83 | +/* Listes & tables */ |
| 84 | +QListWidget, QTreeWidget, QTableWidget, QTableView { |
| 85 | + background: #1E2B22; color: #A7B8B0; border: 1px solid #2A3A2F; border-radius: 10px; |
| 86 | + selection-background-color: #304D30; selection-color: #FFFFFF; |
| 87 | +} |
| 88 | +QListWidget::item:selected, QTreeWidget::item:selected { background: #304D30; color: #FFFFFF; } |
| 89 | + |
| 90 | +/* GroupBox */ |
| 91 | +QGroupBox { border: 1px solid #2A3A2F; border-radius: 10px; margin-top: 10px; } |
| 92 | +QGroupBox::title { subcontrol-origin: margin; left: 10px; padding: 0 6px; color: #66BB6A; background: transparent; } |
| 93 | + |
| 94 | +/* Onglets */ |
| 95 | +QTabWidget::pane { border: 1px solid #2A3A2F; border-radius: 10px; background: #1E2B22; } |
| 96 | +QTabBar::tab { |
| 97 | + background: #263238; color: #A7B8B0; padding: 6px 12px; border: 1px solid #2A3A2F; border-bottom: none; |
| 98 | + border-top-left-radius: 10px; border-top-right-radius: 10px; |
| 99 | +} |
| 100 | +QTabBar::tab:selected { background: #1E2B22; color: #FFFFFF; } |
| 101 | +QTabBar::tab:hover { background: #2A3A2F; } |
| 102 | + |
| 103 | +/* Barre de progression */ |
| 104 | +QProgressBar { border: 1px solid #2A3A2F; border-radius: 10px; text-align: center; background: #1E2B22; color: #FFFFFF; height: 16px; } |
| 105 | +QProgressBar::chunk { background-color: #4CAF50; border-radius: 10px; } |
| 106 | + |
| 107 | +/* ComboBox modern */ |
| 108 | +QComboBox { background: #1E2B22; color: #FFFFFF; border: 1px solid #2A3A2F; border-radius: 12px; padding: 6px 36px 6px 12px; } |
| 109 | +QComboBox:focus { border-color: #4CAF50; } |
| 110 | +QComboBox::drop-down { |
| 111 | + subcontrol-origin: padding; subcontrol-position: top right; width: 30px; border-left: 1px solid #2A3A2F; background: #263238; |
| 112 | + border-top-right-radius: 12px; border-bottom-right-radius: 12px; |
| 113 | +} |
| 114 | +QComboBox QAbstractItemView { background: #1E2B22; color: #A7B8B0; border: 1px solid #2A3A2F; border-radius: 12px; padding: 4px; selection-background-color: #304D30; selection-color: #FFFFFF; outline: 0; } |
| 115 | +QComboBox QAbstractItemView::item { min-height: 26px; } |
| 116 | + |
| 117 | +/* SpinBox modern */ |
| 118 | +QAbstractSpinBox { background: #1E2B22; color: #FFFFFF; border: 1px solid #2A3A2F; border-radius: 12px; padding: 6px 10px; } |
| 119 | +QAbstractSpinBox:focus { border-color: #4CAF50; } |
| 120 | +QSpinBox::up-button, QDoubleSpinBox::up-button { subcontrol-origin: border; subcontrol-position: top right; width: 22px; border-left: 1px solid #2A3A2F; background: #263238; border-top-right-radius: 12px; } |
| 121 | +QSpinBox::down-button, QDoubleSpinBox::down-button { subcontrol-origin: border; subcontrol-position: bottom right; width: 22px; border-left: 1px solid #2A3A2F; background: #263238; border-bottom-right-radius: 12px; } |
| 122 | + |
| 123 | +/* Scrollbars Qt6 */ |
| 124 | +QScrollBar:vertical { background: transparent; width: 12px; margin: 0; border: none; } |
| 125 | +QScrollBar::handle:vertical { background: #2A3A2F; min-height: 24px; border-radius: 6px; } |
| 126 | +QScrollBar::handle:vertical:hover { background: #3A4D3F; } |
| 127 | +QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { height: 0; } |
| 128 | +QScrollBar:horizontal { background: transparent; height: 12px; margin: 0; border: none; } |
| 129 | +QScrollBar::handle:horizontal { background: #2A3A2F; min-width: 24px; border-radius: 6px; } |
| 130 | +QScrollBar::handle:horizontal:hover { background: #3A4D3F; } |
| 131 | +QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { width: 0; } |
| 132 | + |
| 133 | +/* Dialogs & Message Boxes */ |
| 134 | +QDialog, QMessageBox { background: #263238; color: #A7B8B0; border-radius: 12px; border: 1px solid #2A3A2F; } |
| 135 | +QDialog QLabel, QMessageBox QLabel { color: #A7B8B0; } |
| 136 | +QDialogButtonBox QPushButton, QMessageBox QPushButton { |
| 137 | + background: #1E2B22; color: #FFFFFF; border: 1px solid #2A3A2F; border-radius: 12px; padding: 6px 12px; min-width: 90px; |
| 138 | +} |
| 139 | +QDialogButtonBox QPushButton:hover, QMessageBox QPushButton:hover { background: #2A3A2F; } |
| 140 | +QDialogButtonBox QPushButton:pressed, QMessageBox QPushButton:pressed { background: #1A261E; } |
| 141 | +QDialogButtonBox QPushButton:default, QMessageBox QPushButton:default { background: #4CAF50; color: #FFFFFF; border-color: #66BB6A; } |
| 142 | +QDialogButtonBox QPushButton:default:hover, QMessageBox QPushButton:default:hover { background: #66BB6A; } |
| 143 | + |
| 144 | +/* Log */ |
| 145 | +QTextEdit#log { font-family: "Cascadia Code", "Fira Code", "DejaVu Sans Mono", monospace; font-size: 10pt; background: #1E2B22; } |
0 commit comments