ORE Studio 0.0.4
Loading...
Searching...
No Matches
DialogStyles.hpp
1/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2 *
3 * Copyright (C) 2025 Marco Craveiro <marco.craveiro@gmail.com>
4 *
5 * This program is free software; you can redistribute it and/or modify it under
6 * the terms of the GNU General Public License as published by the Free Software
7 * Foundation; either version 3 of the License, or (at your option) any later
8 * version.
9 *
10 * This program is distributed in the hope that it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
13 * details.
14 *
15 * You should have received a copy of the GNU General Public License along with
16 * this program; if not, write to the Free Software Foundation, Inc., 51
17 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 *
19 */
20#ifndef ORES_QT_DIALOG_STYLES_HPP
21#define ORES_QT_DIALOG_STYLES_HPP
22
23#include <QString>
24#include "ores.qt/export.hpp"
25
26namespace ores::qt {
27
35 static inline const QString panel = R"(
36 QWidget#mainPanel {
37 background-color: #1A1A1A;
38 }
39 )";
40
41 static inline const QString input_field = R"(
42 QLineEdit {
43 background-color: #2d2d2d;
44 border: 1px solid #3d3d3d;
45 border-radius: 4px;
46 padding: 8px 12px;
47 font-size: 13px;
48 color: #ffffff;
49 }
50 QLineEdit:focus {
51 border-color: #5a5a5a;
52 background-color: #333333;
53 }
54 QLineEdit::placeholder {
55 color: #707070;
56 }
57 )";
58
59 static inline const QString input_field_match = R"(
60 QLineEdit {
61 background-color: #2d2d2d;
62 border: 2px solid #4CAF50;
63 border-radius: 4px;
64 padding: 8px 12px;
65 font-size: 13px;
66 color: #ffffff;
67 }
68 QLineEdit:focus {
69 border-color: #4CAF50;
70 background-color: #333333;
71 }
72 )";
73
74 static inline const QString input_field_mismatch = R"(
75 QLineEdit {
76 background-color: #2d2d2d;
77 border: 2px solid #FF9800;
78 border-radius: 4px;
79 padding: 8px 12px;
80 font-size: 13px;
81 color: #ffffff;
82 }
83 QLineEdit:focus {
84 border-color: #FF9800;
85 background-color: #333333;
86 }
87 )";
88
89 static inline const QString spin_box = R"(
90 QSpinBox {
91 background-color: #2d2d2d;
92 border: 1px solid #3d3d3d;
93 border-radius: 4px;
94 padding: 8px 12px;
95 font-size: 13px;
96 color: #ffffff;
97 }
98 QSpinBox:focus {
99 border-color: #5a5a5a;
100 background-color: #333333;
101 }
102 )";
103
104 static inline const QString primary_button = R"(
105 QPushButton {
106 background-color: #3d3d3d;
107 color: #ffffff;
108 border: none;
109 border-radius: 4px;
110 padding: 10px 24px;
111 font-size: 14px;
112 font-weight: bold;
113 }
114 QPushButton:hover {
115 background-color: #4a4a4a;
116 }
117 QPushButton:pressed {
118 background-color: #333333;
119 }
120 QPushButton:disabled {
121 background-color: #2a2a2a;
122 color: #555555;
123 }
124 )";
125
126 static inline const QString checkbox = R"(
127 QCheckBox {
128 background: transparent;
129 color: #909090;
130 font-size: 12px;
131 spacing: 6px;
132 }
133 QCheckBox::indicator {
134 width: 14px;
135 height: 14px;
136 border: 1px solid #3d3d3d;
137 border-radius: 2px;
138 background-color: #2d2d2d;
139 }
140 QCheckBox::indicator:checked {
141 background-color: #4a4a4a;
142 border-color: #5a5a5a;
143 }
144 )";
145
146 static inline const QString link_button = R"(
147 QPushButton {
148 background: transparent;
149 border: none;
150 color: #909090;
151 font-size: 12px;
152 padding: 0;
153 }
154 QPushButton:hover {
155 color: #ffffff;
156 text-decoration: underline;
157 }
158 )";
159
160 static inline const QString field_label = R"(
161 QLabel {
162 background: transparent;
163 color: #909090;
164 font-size: 10px;
165 font-weight: bold;
166 letter-spacing: 1px;
167 }
168 )";
169
170 static inline const QString version = R"(
171 QLabel {
172 background: transparent;
173 color: #505050;
174 font-size: 9px;
175 }
176 )";
177
178 static inline const QString status = R"(
179 QLabel {
180 background: transparent;
181 color: #707070;
182 font-size: 11px;
183 font-style: italic;
184 }
185 )";
186
187 static inline const QString subtitle = R"(
188 QLabel {
189 background: transparent;
190 color: #707070;
191 font-size: 12px;
192 }
193 )";
194
195 static inline const QString input_field_locked = R"(
196 QLineEdit {
197 background-color: #222222;
198 border: 1px solid #333333;
199 border-radius: 4px;
200 padding: 8px 12px;
201 font-size: 13px;
202 color: #707070;
203 }
204 )";
205
206 static inline const QString spin_box_locked = R"(
207 QSpinBox {
208 background-color: #222222;
209 border: 1px solid #333333;
210 border-radius: 4px;
211 padding: 8px 12px;
212 font-size: 13px;
213 color: #707070;
214 }
215 QSpinBox::up-button, QSpinBox::down-button {
216 width: 0px;
217 }
218 )";
219
220 static inline const QString combo_box = R"(
221 QComboBox {
222 background-color: #2d2d2d;
223 border: 1px solid #3d3d3d;
224 border-radius: 4px;
225 padding: 6px 12px;
226 font-size: 13px;
227 color: #ffffff;
228 }
229 QComboBox:focus {
230 border-color: #5a5a5a;
231 background-color: #333333;
232 }
233 QComboBox::drop-down {
234 border: none;
235 width: 20px;
236 }
237 QComboBox QAbstractItemView {
238 background-color: #252525;
239 border: 1px solid #3d3d3d;
240 selection-background-color: #3a3a3a;
241 color: #ffffff;
242 outline: none;
243 }
244 )";
245
246 static inline const QString saved_connections_button = R"(
247 QToolButton {
248 background: transparent;
249 border: none;
250 padding: 2px;
251 }
252 QToolButton:hover {
253 background-color: #2d2d2d;
254 border-radius: 2px;
255 }
256 QToolButton::menu-indicator {
257 image: none;
258 }
259 )";
260};
261
262}
263
264#endif
Qt-based graphical user interface for ORE Studio.
Definition AccountController.hpp:32
Centralized stylesheet constants for dark-themed dialogs.
Definition DialogStyles.hpp:34