@@ -84,10 +84,11 @@ SettingsDialog::SettingsDialog(ApplicationList *list,
8484
8585 connect (mUI .mBtnBrowsePythonPath , &QPushButton::clicked, this , &SettingsDialog::browsePythonPath);
8686 connect (mUI .mBtnBrowseMisraFile , &QPushButton::clicked, this , &SettingsDialog::browseMisraFile);
87- connect (mUI .btnEditCustom , SIGNAL (clicked ()), this , SLOT (editCodeEditorStyle ()));
88- connect (mUI .choiceLight , SIGNAL (released ()), this , SLOT (setCodeEditorStyleDefault ()));
89- connect (mUI .choiceDark , SIGNAL (released ()), this , SLOT (setCodeEditorStyleDefault ()));
90- connect (mUI .choiceCustom , SIGNAL (toggled (bool )), mUI .btnEditCustom , SLOT (setEnabled (bool )));
87+ connect (mUI .mBtnEditTheme , SIGNAL (clicked ()), this , SLOT (editCodeEditorStyle ()));
88+ connect (mUI .mThemeSystem , SIGNAL (released ()), this , SLOT (setCodeEditorStyleDefault ()));
89+ connect (mUI .mThemeDark , SIGNAL (released ()), this , SLOT (setCodeEditorStyleDefault ()));
90+ connect (mUI .mThemeLight , SIGNAL (released ()), this , SLOT (setCodeEditorStyleDefault ()));
91+ connect (mUI .mThemeCustom , SIGNAL (toggled (bool )), mUI .mBtnEditTheme , SLOT (setEnabled (bool )));
9192
9293 mUI .mListWidget ->setSortingEnabled (false );
9394 populateApplicationList ();
@@ -185,7 +186,6 @@ void SettingsDialog::saveSettingValues() const
185186 settings.setValue (SETTINGS_LANGUAGE, langcode);
186187 }
187188 CodeEditorStyle::saveSettings (&settings, *mCurrentStyle );
188-
189189}
190190
191191void SettingsDialog::saveCheckboxValue (QSettings *settings, QCheckBox *box,
@@ -330,8 +330,12 @@ void SettingsDialog::browseMisraFile()
330330// Slot to set default light style
331331void SettingsDialog::setCodeEditorStyleDefault ()
332332{
333- if (mUI .choiceLight ->isChecked ()) *mCurrentStyle = defaultStyleLight;
334- if (mUI .choiceDark ->isChecked ()) *mCurrentStyle = defaultStyleDark;
333+ if (mUI .mThemeSystem ->isChecked ())
334+ *mCurrentStyle = CodeEditorStyle::getSystemTheme ();
335+ if (mUI .mThemeLight ->isChecked ())
336+ *mCurrentStyle = defaultStyleLight;
337+ if (mUI .mThemeDark ->isChecked ())
338+ *mCurrentStyle = defaultStyleDark;
335339 manageStyleControls ();
336340}
337341
@@ -359,11 +363,13 @@ void SettingsDialog::browseClangPath()
359363
360364void SettingsDialog::manageStyleControls ()
361365{
362- bool isDefaultLight = *mCurrentStyle == defaultStyleLight;
363- bool isDefaultDark = *mCurrentStyle == defaultStyleDark;
364- mUI .choiceLight ->setChecked (isDefaultLight && !isDefaultDark);
365- mUI .choiceDark ->setChecked (!isDefaultLight && isDefaultDark);
366- mUI .choiceCustom ->setChecked (!isDefaultLight && !isDefaultDark);
367- mUI .btnEditCustom ->setEnabled (!isDefaultLight && !isDefaultDark);
366+ bool isSystemTheme = mCurrentStyle ->isSystemTheme ();
367+ bool isDefaultLight = !isSystemTheme && *mCurrentStyle == defaultStyleLight;
368+ bool isDefaultDark = !isSystemTheme && *mCurrentStyle == defaultStyleDark;
369+ mUI .mThemeSystem ->setChecked (isSystemTheme);
370+ mUI .mThemeLight ->setChecked (isDefaultLight && !isDefaultDark);
371+ mUI .mThemeDark ->setChecked (!isDefaultLight && isDefaultDark);
372+ mUI .mThemeCustom ->setChecked (!isSystemTheme && !isDefaultLight && !isDefaultDark);
373+ mUI .mBtnEditTheme ->setEnabled (!isSystemTheme && !isDefaultLight && !isDefaultDark);
368374}
369375
0 commit comments