New setting allowing to set a dark style using a style-sheet · Github1886/sqlitebrowser@ed17868 · GitHub
Skip to content

Commit ed17868

Browse files
committed
New setting allowing to set a dark style using a style-sheet
A new setting allows to follow the system style or set a new dark style based on a the style-sheet provided by https://github.com/ColinDuquesnoy/QDarkStyleSheet The style-sheet is licensed under the MIT license. Images contained in that project are licensed under CC-BY license. Pending issues: - Use of stylesheets is incompatible to QPalette. Some colours for previewing settings in the Preferences dialog are eclipsed by the style- sheet See ColinDuquesnoy/QDarkStyleSheet#48 - Changing the style should select matching background and foreground colours for the Browse Data and SQL tabs in Preferences. See issues sqlitebrowser#1751 sqlitebrowser#1493 and sqlitebrowser#1738
1 parent a7a50c5 commit ed17868

50 files changed

Lines changed: 2084 additions & 18 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎CMakeLists.txt‎

Lines changed: 1 addition & 0 deletions

‎src/MainWindow.cpp‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2364,6 +2364,24 @@ void MainWindow::reloadSettings()
23642364
// Set data browser font
23652365
ui->dataTable->reloadSettings();
23662366

2367+
switch (static_cast<Settings::AppStyle>(Settings::getValue("General", "appStyle").toInt())) {
2368+
case Settings::FollowDesktopStyle :
2369+
qApp->setStyleSheet("");
2370+
2371+
break;
2372+
case Settings::DarkStyle :
2373+
QFile f(":qdarkstyle/style.qss");
2374+
if (!f.exists()) {
2375+
QMessageBox::warning(this, qApp->applicationName(),
2376+
tr("Could not open find resource file: %1").arg(f.fileName()));
2377+
} else {
2378+
f.open(QFile::ReadOnly | QFile::Text);
2379+
QTextStream ts(&f);
2380+
qApp->setStyleSheet(ts.readAll());
2381+
}
2382+
break;
2383+
}
2384+
23672385
setToolButtonStyle(static_cast<Qt::ToolButtonStyle>(Settings::getValue("General", "toolbarStyle").toInt()));
23682386
ui->dbToolbar->setToolButtonStyle(static_cast<Qt::ToolButtonStyle>(Settings::getValue("General", "toolbarStyleStructure").toInt()));
23692387
ui->browseToolbar->setToolButtonStyle(static_cast<Qt::ToolButtonStyle>(Settings::getValue("General", "toolbarStyleBrowse").toInt()));

‎src/PreferencesDialog.cpp‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ void PreferencesDialog::loadSettings()
187187
ui->checkRegexDisabled->setChecked(Settings::getValue("extensions", "disableregex").toBool());
188188
ui->checkAllowLoadExtension->setChecked(Settings::getValue("extensions", "enable_load_extension").toBool());
189189
fillLanguageBox();
190+
ui->appStyleCombo->setCurrentIndex(Settings::getValue("General", "appStyle").toInt());
190191
ui->toolbarStyleComboMain->setCurrentIndex(Settings::getValue("General", "toolbarStyle").toInt());
191192
ui->toolbarStyleComboStructure->setCurrentIndex(Settings::getValue("General", "toolbarStyleStructure").toInt());
192193
ui->toolbarStyleComboBrowse->setCurrentIndex(Settings::getValue("General", "toolbarStyleBrowse").toInt());
@@ -313,6 +314,7 @@ void PreferencesDialog::saveSettings()
313314
tr("The language will change after you restart the application."));
314315

315316
Settings::setValue("General", "language", newLanguage);
317+
Settings::setValue("General", "appStyle", ui->appStyleCombo->currentIndex());
316318

317319
Settings::setValue("General", "toolbarStyle", ui->toolbarStyleComboMain->currentIndex());
318320
Settings::setValue("General", "toolbarStyleStructure", ui->toolbarStyleComboStructure->currentIndex());

‎src/PreferencesDialog.ui‎

Lines changed: 62 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@
122122
</property>
123123
</widget>
124124
</item>
125-
<item row="2" column="0">
125+
<item row="3" column="0">
126126
<widget class="QLabel" name="labelToolbarStyle">
127127
<property name="text">
128128
<string>Toolbar style</string>
@@ -132,7 +132,7 @@
132132
</property>
133133
</widget>
134134
</item>
135-
<item row="4" column="1">
135+
<item row="5" column="1">
136136
<widget class="QComboBox" name="toolbarStyleComboMain">
137137
<property name="sizePolicy">
138138
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
@@ -182,7 +182,7 @@
182182
</item>
183183
</widget>
184184
</item>
185-
<item row="5" column="1">
185+
<item row="6" column="1">
186186
<widget class="QComboBox" name="toolbarStyleComboStructure">
187187
<property name="sizePolicy">
188188
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
@@ -232,7 +232,7 @@
232232
</item>
233233
</widget>
234234
</item>
235-
<item row="6" column="1">
235+
<item row="7" column="1">
236236
<widget class="QComboBox" name="toolbarStyleComboBrowse">
237237
<property name="sizePolicy">
238238
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
@@ -282,7 +282,7 @@
282282
</item>
283283
</widget>
284284
</item>
285-
<item row="7" column="1">
285+
<item row="8" column="1">
286286
<widget class="QComboBox" name="toolbarStyleComboSql">
287287
<property name="sizePolicy">
288288
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
@@ -332,7 +332,7 @@
332332
</item>
333333
</widget>
334334
</item>
335-
<item row="9" column="0">
335+
<item row="10" column="0">
336336
<widget class="QLabel" name="labelUseRemotes">
337337
<property name="text">
338338
<string>Show remote options</string>
@@ -342,7 +342,7 @@
342342
</property>
343343
</widget>
344344
</item>
345-
<item row="9" column="1">
345+
<item row="10" column="1">
346346
<widget class="QCheckBox" name="checkUseRemotes">
347347
<property name="text">
348348
<string>enabled</string>
@@ -352,7 +352,7 @@
352352
</property>
353353
</widget>
354354
</item>
355-
<item row="10" column="0">
355+
<item row="11" column="0">
356356
<widget class="QLabel" name="labelUpdates">
357357
<property name="text">
358358
<string>Automatic &amp;updates</string>
@@ -362,14 +362,14 @@
362362
</property>
363363
</widget>
364364
</item>
365-
<item row="10" column="1">
365+
<item row="11" column="1">
366366
<widget class="QCheckBox" name="checkUpdates">
367367
<property name="text">
368368
<string>enabled</string>
369369
</property>
370370
</widget>
371371
</item>
372-
<item row="11" column="0">
372+
<item row="12" column="0">
373373
<widget class="QLabel" name="label_16">
374374
<property name="text">
375375
<string>DB file extensions</string>
@@ -379,14 +379,14 @@
379379
</property>
380380
</widget>
381381
</item>
382-
<item row="11" column="1">
382+
<item row="12" column="1">
383383
<widget class="QPushButton" name="buttonManageFileExtension">
384384
<property name="text">
385385
<string>Manage</string>
386386
</property>
387387
</widget>
388388
</item>
389-
<item row="4" column="0">
389+
<item row="5" column="0">
390390
<widget class="QLabel" name="labelMainToolBar">
391391
<property name="text">
392392
<string>Main Window</string>
@@ -399,7 +399,7 @@
399399
</property>
400400
</widget>
401401
</item>
402-
<item row="5" column="0">
402+
<item row="6" column="0">
403403
<widget class="QLabel" name="labelStructureToolBar">
404404
<property name="text">
405405
<string>Database Structure</string>
@@ -412,7 +412,7 @@
412412
</property>
413413
</widget>
414414
</item>
415-
<item row="6" column="0">
415+
<item row="7" column="0">
416416
<widget class="QLabel" name="labelBrowseToolBar">
417417
<property name="text">
418418
<string>Browse Data</string>
@@ -425,7 +425,7 @@
425425
</property>
426426
</widget>
427427
</item>
428-
<item row="7" column="0">
428+
<item row="8" column="0">
429429
<widget class="QLabel" name="labelSqlToolBar">
430430
<property name="text">
431431
<string>Execute SQL</string>
@@ -438,7 +438,7 @@
438438
</property>
439439
</widget>
440440
</item>
441-
<item row="8" column="1">
441+
<item row="9" column="1">
442442
<widget class="QComboBox" name="toolbarStyleComboEditCell">
443443
<property name="sizePolicy">
444444
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
@@ -488,7 +488,7 @@
488488
</item>
489489
</widget>
490490
</item>
491-
<item row="8" column="0">
491+
<item row="9" column="0">
492492
<widget class="QLabel" name="labelEditCellToolBar">
493493
<property name="text">
494494
<string>Edit Database Cell</string>
@@ -501,6 +501,51 @@
501501
</property>
502502
</widget>
503503
</item>
504+
<item row="2" column="1">
505+
<widget class="QComboBox" name="appStyleCombo">
506+
<property name="sizePolicy">
507+
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
508+
<horstretch>0</horstretch>
509+
<verstretch>0</verstretch>
510+
</sizepolicy>
511+
</property>
512+
<property name="currentIndex">
513+
<number>0</number>
514+
</property>
515+
<property name="sizeAdjustPolicy">
516+
<enum>QComboBox::AdjustToContents</enum>
517+
</property>
518+
<property name="minimumContentsLength">
519+
<number>35</number>
520+
</property>
521+
<property name="iconSize">
522+
<size>
523+
<width>20</width>
524+
<height>15</height>
525+
</size>
526+
</property>
527+
<item>
528+
<property name="text">
529+
<string>Follow the desktop style</string>
530+
</property>
531+
</item>
532+
<item>
533+
<property name="text">
534+
<string>Dark style</string>
535+
</property>
536+
</item>
537+
</widget>
538+
</item>
539+
<item row="2" column="0">
540+
<widget class="QLabel" name="labelAppStyle">
541+
<property name="text">
542+
<string>Application style</string>
543+
</property>
544+
<property name="buddy">
545+
<cstring>toolbarStyleComboStructure</cstring>
546+
</property>
547+
</widget>
548+
</item>
504549
</layout>
505550
</widget>
506551
<widget class="QWidget" name="tab">

‎src/Settings.cpp‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,10 @@ QVariant Settings::getDefaultValue(const QString& group, const QString& name)
154154
if(group == "General" && name == "language")
155155
return QLocale::system().name();
156156

157+
// General/appStyle
158+
if(group == "General" && name == "appStyle")
159+
return static_cast<int>(FollowDesktopStyle);
160+
157161
// General/toolbarStyle
158162
if(group == "General" && name == "toolbarStyle")
159163
return static_cast<int>(Qt::ToolButtonTextBesideIcon);

‎src/Settings.h‎

Lines changed: 5 additions & 0 deletions

‎src/qdarkstyle/rc/Hmovetoolbar.png‎

220 Bytes
172 Bytes

‎src/qdarkstyle/rc/Vmovetoolbar.png‎

2.78 KB
2.77 KB

0 commit comments

Comments
 (0)