changeset 29524:730cac3d6d5a

allow reloading default colors and styles in the preferences dialog * gui-settings.h: define constants for the new button texts and related tooltips * resource-manager.cc (read_lexer_settings): new argument indicating that only the defaults have to be reloaded ignoring current settings file entries, do not write lexer styles into the settings file in this case but only configure the given lexer accordingly * resource-manager.h: new argument for read_lexer_settings * settings-dialog.cc (settings_dialog): checkbox for second editor color mode now added via code together with the new button for reloading the default styles, connect button signal with update_editor_lexers; (update_editor_lexers): argument now used for reloading default values, which is also passed to all calls of update_lexer, get the mode from the checkbox; (update_lexer): new argument, which is also passed to read_lexer_settings, also update font style elements from the lexer configures with the default values and not only the color pickers; (write_lexer_settings): remove mode argument and get mode from checkbox, save it into settings file here (write_changed_settings): instead here, call write_lexer_settings without mode parameter; (read_workspace_colors): add button for reloading default values, connect to update_workspace_colors; (update_workspace_colors): get mode from the checkbox, not as argument, get colors from settings or the default values; (read_terminal_colors): see read_workspace_colors; (update_terminal_colors): see update_workspace_colors; (read_varedit_colors): see read_workspace_colors; (update_varedit_colors): see update_workspace_colors; * settings-dialog.h: new arg in update color slots, changed arguments in update and write lexer slots * settings-dialog.ui: remove the color check box for the editor styles and add a grid layout instead
author Torsten Lilge <ttl-octave@mailbox.org>
date Sun, 11 Apr 2021 19:22:31 +0200
parents 71e979cf1319
children d6b2d9f9e1e0
files libgui/src/gui-settings.h libgui/src/resource-manager.cc libgui/src/resource-manager.h libgui/src/settings-dialog.cc libgui/src/settings-dialog.h libgui/src/settings-dialog.ui
diffstat 6 files changed, 238 insertions(+), 97 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/gui-settings.h	Sun Apr 11 19:22:30 2021 +0200
+++ b/libgui/src/gui-settings.h	Sun Apr 11 19:22:31 2021 +0200
@@ -138,6 +138,21 @@
     "Useful for defining a dark/light mode.\n"
     "Discards non-applied current changes!");
 const QStringList settings_color_modes_ext (QStringList () << "" << "_2");
-
+// Reset colors (reload default values)
+const QString settings_reload_colors = QT_TRANSLATE_NOOP (
+    "octave::settings_dialog",
+    "&Reload default colors");
+const QString settings_reload_colors_tooltip = QT_TRANSLATE_NOOP (
+    "octave::settings_dialog",
+    "Reloads the default colors,\n"
+    "depending on currently selected mode.");
+const QString settings_reload_styles = QT_TRANSLATE_NOOP (
+    "octave::settings_dialog",
+    "&Reload default styles");
+const QString settings_reload_styles_tooltip = QT_TRANSLATE_NOOP (
+    "octave::settings_dialog",
+    "Reloads the default values of the styles,\n"
+    "depending on currently selected mode.");
+const int settings_reload_default_colors_flag = -1;
 #endif
 
--- a/libgui/src/resource-manager.cc	Sun Apr 11 19:22:30 2021 +0200
+++ b/libgui/src/resource-manager.cc	Sun Apr 11 19:22:31 2021 +0200
@@ -352,7 +352,8 @@
 
 #if defined (HAVE_QSCINTILLA)
   void resource_manager::read_lexer_settings (QsciLexer *lexer,
-                                              gui_settings *settings, int mode)
+                                              gui_settings *settings,
+                                              int mode, int def)
   {
     // Test whether the settings for lexer is already contained in the
     // given gui settings file. If yes, load them, if not copy them from the
@@ -373,9 +374,9 @@
     settings->endGroup ();
     settings->endGroup ();
 
-    if (lexer_keys.count () == 0)
+    if (def == settings_reload_default_colors_flag || lexer_keys.count () == 0)
       {
-        // No Lexer keys found:
+        // We have to reload the default values or no Lexer keys found:
         // If mode == 0, take all settings except font from default lexer
         // If Mode == 1, take all settings except font from default lexer
         //               and convert the color by inverting the lightness
@@ -404,8 +405,12 @@
         lexer->setDefaultColor (lexer->color (styles[0]));
         lexer->setDefaultPaper (lexer->paper (styles[0]));
 
-        lexer->writeSettings (*settings, group.toStdString ().c_str ());
-        settings->sync ();
+        // Write settings if not just reload the default values
+        if (def != settings_reload_default_colors_flag)
+          {
+            lexer->writeSettings (*settings, group.toStdString ().c_str ());
+            settings->sync ();
+          }
       }
     else
       {
--- a/libgui/src/resource-manager.h	Sun Apr 11 19:22:30 2021 +0200
+++ b/libgui/src/resource-manager.h	Sun Apr 11 19:22:31 2021 +0200
@@ -82,7 +82,8 @@
 
 #if defined (HAVE_QSCINTILLA)
     int get_valid_lexer_styles (QsciLexer *lexer, int *styles);
-    void read_lexer_settings (QsciLexer *lexer, gui_settings *settings, int mode = 0);
+    void read_lexer_settings (QsciLexer *lexer, gui_settings *settings,
+                              int mode = 0, int def = 0);
 #endif
 
     void set_settings (const QString& file);
--- a/libgui/src/settings-dialog.cc	Sun Apr 11 19:22:30 2021 +0200
+++ b/libgui/src/settings-dialog.cc	Sun Apr 11 19:22:31 2021 +0200
@@ -454,16 +454,30 @@
 #if defined (HAVE_QSCINTILLA)
 
     int ed_mode = settings->value (ed_color_mode).toInt ();
-    editor_cb_color_mode->setText (settings_color_modes);
-    editor_cb_color_mode->setToolTip (settings_color_modes_tooltip);
-    editor_cb_color_mode->setChecked (ed_mode > 0);
+
+    QCheckBox *cb_color_mode = new QCheckBox (settings_color_modes,
+                                              group_box_editor_styles);
+    cb_color_mode->setToolTip (settings_color_modes_tooltip);
+    cb_color_mode->setChecked (ed_mode > 0);
+    cb_color_mode->setObjectName (ed_color_mode.key);
+
+    QPushButton *pb_reload_default_colors = new QPushButton (settings_reload_styles);
+    pb_reload_default_colors->setToolTip (settings_reload_styles_tooltip);
+
+    editor_style_grid->addWidget (cb_color_mode, 0, 0);
+    editor_style_grid->addWidget (pb_reload_default_colors, 0, 1);
+    editor_style_grid->addItem (new QSpacerItem (5,5,QSizePolicy::Expanding), 0, 2);
+
+
 
     // update colors depending on second theme selection
-    connect (editor_cb_color_mode, SIGNAL (stateChanged (int)),
+    connect (cb_color_mode, SIGNAL (stateChanged (int)),
              this, SLOT (update_editor_lexers (int)));
+    connect (pb_reload_default_colors, &QPushButton::clicked,
+             [=] () { update_editor_lexers (settings_reload_default_colors_flag); });
 
     // finally read the lexer colors using the update slot
-    update_editor_lexers (ed_mode);
+    update_editor_lexers ();
 
 #endif
 
@@ -607,12 +621,15 @@
     scmgr.import_export (shortcut_manager::OSC_DEFAULT);
   }
 
-  void settings_dialog::update_editor_lexers (int mode)
+  void settings_dialog::update_editor_lexers (int def)
   {
 #if defined (HAVE_QSCINTILLA)
-     int m = mode;
-     if (m > 1)
-       m = 1;
+    QCheckBox *cb_color_mode
+      = group_box_editor_styles->findChild <QCheckBox *> (ed_color_mode.key);
+
+    int m = 0;
+    if (cb_color_mode && cb_color_mode->isChecked ())
+      m = 1;
 
     // editor styles: create lexer, read settings, and
     // create or update dialog elements
@@ -623,54 +640,56 @@
 
 #if defined (HAVE_LEXER_OCTAVE)
     lexer = new QsciLexerOctave ();
-    update_lexer (lexer, settings, m);
+    update_lexer (lexer, settings, m, def);
     delete lexer;
 #elif defined (HAVE_LEXER_MATLAB)
     lexer = new QsciLexerMatlab ();
-    update_lexer (lexer, settings, m);
+    update_lexer (lexer, settings, m, def);
     delete lexer;
 #endif
 
     lexer = new QsciLexerCPP ();
-    update_lexer (lexer, settings, m);
+    update_lexer (lexer, settings, m, def);
     delete lexer;
 
     lexer = new QsciLexerJava ();
-    update_lexer (lexer, settings, m);
+    update_lexer (lexer, settings, m, def);
     delete lexer;
 
     lexer = new QsciLexerPerl ();
-    update_lexer (lexer, settings, m);
+    update_lexer (lexer, settings, m, def);
     delete lexer;
 
     lexer = new QsciLexerBatch ();
-    update_lexer (lexer, settings, m);
+    update_lexer (lexer, settings, m, def);
     delete lexer;
 
     lexer = new QsciLexerDiff ();
-    update_lexer (lexer, settings, m);
+    update_lexer (lexer, settings, m, def);
     delete lexer;
 
     lexer = new QsciLexerBash ();
-    update_lexer (lexer, settings, m);
+    update_lexer (lexer, settings, m, def);
     delete lexer;
 
     lexer = new octave_txt_lexer ();
-    update_lexer (lexer, settings, m);
+    update_lexer (lexer, settings, m, def);
     delete lexer;
 #endif
   }
 
 #if defined (HAVE_QSCINTILLA)
 
-  void settings_dialog::update_lexer (QsciLexer *lexer,
-                                      gui_settings *settings, int mode)
+  void settings_dialog::update_lexer (QsciLexer *lexer, gui_settings *settings,
+                                      int mode, int def)
   {
     // Get lexer settings and copy from default settings if not yet
     // available in normal settings file
     resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
-    rmgr.read_lexer_settings (lexer, settings, mode);
+    rmgr.read_lexer_settings (lexer, settings, mode, def);
 
+    // When reloading default styles, the style tabs do already exists.
+    // Otherwise, check if they exist or not.
     QString lexer_name = lexer->language ();
 
     int index = -1;
@@ -691,16 +710,18 @@
         return;
       }
 
-    // Update the color picker in all styles
+    // Update the styles elements in all styles
     int styles[ed_max_lexer_styles];  // array for saving valid styles
     int max_style = rmgr.get_valid_lexer_styles (lexer, styles);
     QWidget *tab = tabs_editor_lexers->widget (index);
-    color_picker *color, *bg_color;
+    int default_size = 0;
+    QString default_family;
 
     for (int i = 0; i < max_style; i++)  // create dialog elements for all styles
       {
         QString actual_name = lexer->description (styles[i]);
-        bg_color = tab->findChild <color_picker *> (actual_name + "_bg_color");
+        color_picker *bg_color
+          = tab->findChild <color_picker *> (actual_name + "_bg_color");
         if (bg_color)
           {
             // Update
@@ -715,9 +736,49 @@
               }
           }
 
-        color = tab->findChild <color_picker *> (actual_name + "_color");
+        color_picker *color = tab->findChild <color_picker *> (actual_name + "_color");
         if (color)
           color->set_color (lexer->color (styles[i]));
+
+        QFont font = lexer->font (styles[i]);
+
+        QCheckBox *cb = tab->findChild <QCheckBox *> (actual_name + "_bold");
+        if (cb)
+          cb->setChecked (font.bold ());
+        cb = tab->findChild <QCheckBox *> (actual_name + "_italic");
+        if (cb)
+          cb->setChecked (font.italic ());
+        cb = tab->findChild <QCheckBox *> (actual_name + "_underline");
+        if (cb)
+          cb->setChecked (font.underline ());
+
+        QFontComboBox *fcb = tab->findChild <QFontComboBox *> (actual_name + "_font");
+        if (fcb)
+          {
+            if (styles[i] == 0)
+              {
+                default_family = font.family ();
+                fcb->setEditText (default_family);
+              }
+            else
+              {
+                if (font.family () == default_family)
+                  fcb->setEditText (lexer->description (0));
+                else
+                  fcb->setEditText (font.family ());
+              }
+          }
+        QSpinBox *fs = tab->findChild <QSpinBox *> (actual_name + "_size");
+        if (fs)
+          {
+            if (styles[i] == 0)
+              {
+                default_size = font.pointSize ();
+                fs->setValue (default_size);
+              }
+            else
+              fs->setValue (font.pointSize () - default_size);
+          }
       }
 
   }
@@ -817,10 +878,18 @@
   }
 
   void settings_dialog::write_lexer_settings (QsciLexer *lexer,
-                                              gui_settings *settings, int mode)
+                                              gui_settings *settings)
   {
     resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
 
+    QCheckBox *cb_color_mode
+      = group_box_editor_styles->findChild <QCheckBox *> (ed_color_mode.key);
+    int mode = 0;
+    if (cb_color_mode && cb_color_mode->isChecked ())
+      mode = 1;
+
+    settings->setValue (ed_color_mode.key, mode);
+
     QWidget *tab = tabs_editor_lexers->
       findChild <QWidget *> (QString (lexer->language ()) + "_styles");
     int styles[ed_max_lexer_styles];  // array for saving valid styles
@@ -896,11 +965,7 @@
           }
       }
 
-    int m = mode;
-    if (m > 1)
-      m = 1;
-
-    const char* group = QString ("Scintilla" + settings_color_modes_ext[m])
+    const char* group = QString ("Scintilla" + settings_color_modes_ext[mode])
                                 .toStdString ().c_str ();
 
     lexer->writeSettings (*settings, group);
@@ -970,11 +1035,6 @@
     settings->setValue (global_ov_startup_dir.key, le_octave_dir->text ());
 
     //editor
-    int ed_mode = 0;
-    if (editor_cb_color_mode->isChecked ())
-      ed_mode = 1;
-    settings->setValue (ed_color_mode.key, ed_mode);
-
     settings->setValue (global_use_custom_editor.key, useCustomFileEditor->isChecked ());
     settings->setValue (global_custom_editor.key, customFileEditor->text ());
     settings->setValue (ed_show_line_numbers.key, editor_showLineNumbers->isChecked ());
@@ -1084,43 +1144,43 @@
 #if defined (HAVE_LEXER_OCTAVE)
 
     lexer = new QsciLexerOctave ();
-    write_lexer_settings (lexer, settings, ed_mode);
+    write_lexer_settings (lexer, settings);
     delete lexer;
 
 #elif defined (HAVE_LEXER_MATLAB)
 
     lexer = new QsciLexerMatlab ();
-    write_lexer_settings (lexer, settings, ed_mode);
+    write_lexer_settings (lexer, settings);
     delete lexer;
 
 #endif
 
     lexer = new QsciLexerCPP ();
-    write_lexer_settings (lexer, settings, ed_mode);
+    write_lexer_settings (lexer, settings);
     delete lexer;
 
     lexer = new QsciLexerJava ();
-    write_lexer_settings (lexer, settings, ed_mode);
+    write_lexer_settings (lexer, settings);
     delete lexer;
 
     lexer = new QsciLexerPerl ();
-    write_lexer_settings (lexer, settings, ed_mode);
+    write_lexer_settings (lexer, settings);
     delete lexer;
 
     lexer = new QsciLexerBatch ();
-    write_lexer_settings (lexer, settings, ed_mode);
+    write_lexer_settings (lexer, settings);
     delete lexer;
 
     lexer = new QsciLexerDiff ();
-    write_lexer_settings (lexer, settings, ed_mode);
+    write_lexer_settings (lexer, settings);
     delete lexer;
 
     lexer = new QsciLexerBash ();
-    write_lexer_settings (lexer, settings, ed_mode);
+    write_lexer_settings (lexer, settings);
     delete lexer;
 
     lexer = new octave_txt_lexer ();
-    write_lexer_settings (lexer, settings, ed_mode);
+    write_lexer_settings (lexer, settings);
     delete lexer;
 
 #endif
@@ -1179,7 +1239,13 @@
     cb_color_mode->setObjectName (ws_color_mode.key);
     connect (m_ws_enable_colors, SIGNAL (toggled (bool)),
              cb_color_mode, SLOT (setEnabled (bool)));
-    style_grid->addWidget (cb_color_mode, row, column++);
+    style_grid->addWidget (cb_color_mode, row, column);
+
+    QPushButton *pb_reload_default_colors = new QPushButton (settings_reload_colors);
+    pb_reload_default_colors->setToolTip (settings_reload_colors_tooltip);
+    connect (m_ws_enable_colors, SIGNAL (toggled (bool)),
+             pb_reload_default_colors, SLOT (setEnabled (bool)));
+    style_grid->addWidget (pb_reload_default_colors, row+1, column++);
 
     bool colors_enabled = settings->value (ws_enable_colors).toBool ();
 
@@ -1214,20 +1280,27 @@
     m_ws_enable_colors->setChecked (colors_enabled);
     m_ws_hide_tool_tips->setEnabled (colors_enabled);
     cb_color_mode->setEnabled (colors_enabled);
+    pb_reload_default_colors->setEnabled (colors_enabled);
 
     // place grid with elements into the tab
     workspace_colors_box->setLayout (style_grid);
 
-    // update colors depending on second theme selection
+    // update colors depending on second theme selection or reloading
+    // the dfault values
     connect (cb_color_mode, SIGNAL (stateChanged (int)),
              this, SLOT (update_workspace_colors (int)));
+    connect (pb_reload_default_colors, &QPushButton::clicked,
+             [=] () { update_workspace_colors (settings_reload_default_colors_flag); });
   }
 
-  void settings_dialog::update_workspace_colors (int mode)
+  void settings_dialog::update_workspace_colors (int def)
   {
-    int m = mode;
-    if (m > 1)
-      m = 1; // Currently one more color mode
+    QCheckBox *cb_color_mode
+      = workspace_colors_box->findChild <QCheckBox *> (ws_color_mode.key);
+
+    int m = 0;
+    if (cb_color_mode && cb_color_mode->isChecked ())
+      m = 1;
 
     resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
     gui_settings *settings = rmgr.get_settings ();
@@ -1238,7 +1311,18 @@
       {
         c_picker = workspace_colors_box->findChild <color_picker *> (ws_colors[i].key);
         if (c_picker)
-          c_picker->set_color (settings->color_value (ws_colors[i], m));
+          {
+            if (def != settings_reload_default_colors_flag)
+              {
+                // Get current value from settings or the default
+                c_picker->set_color (settings->color_value (ws_colors[i], m));
+              }
+            else
+              {
+                // Get the default value
+                c_picker->set_color (settings->get_color_value (ws_colors[i].def, m));
+              }
+          }
       }
   }
 
@@ -1282,6 +1366,10 @@
     cb_color_mode->setObjectName (cs_color_mode.key);
     style_grid->addWidget (cb_color_mode, 0, 0);
 
+    QPushButton *pb_reload_default_colors = new QPushButton (settings_reload_colors);
+    pb_reload_default_colors->setToolTip (settings_reload_colors_tooltip);
+    style_grid->addWidget (pb_reload_default_colors, 1, 0);
+
     int column = 1;               // column 0 is for the color mode checkbox
     const int color_columns = 2;  // place colors in so many columns
     int row = 0;
@@ -1310,13 +1398,18 @@
     // update colors depending on second theme selection
     connect (cb_color_mode, SIGNAL (stateChanged (int)),
              this, SLOT (update_terminal_colors (int)));
+    connect (pb_reload_default_colors, &QPushButton::clicked,
+             [=] () { update_terminal_colors (settings_reload_default_colors_flag); });
   }
 
-  void settings_dialog::update_terminal_colors (int mode)
+  void settings_dialog::update_terminal_colors (int def)
   {
-    int m = mode;
-    if (m > 1)
-      m = 1; // Currently one more color mode
+    QCheckBox *cb_color_mode
+      = terminal_colors_box->findChild <QCheckBox *> (cs_color_mode.key);
+
+    int m = 0;
+    if (cb_color_mode && cb_color_mode->isChecked ())
+      m = 1;
 
     resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
     gui_settings *settings = rmgr.get_settings ();
@@ -1327,7 +1420,18 @@
       {
         c_picker = terminal_colors_box->findChild <color_picker *> (cs_colors[i].key);
         if (c_picker)
-          c_picker->set_color (settings->color_value (cs_colors[i], m));
+          {
+            if (def != settings_reload_default_colors_flag)
+              {
+                // Get current value from settings or the default
+                c_picker->set_color (settings->color_value (cs_colors[i], m));
+              }
+            else
+              {
+                // Get the default value
+                c_picker->set_color (settings->get_color_value (cs_colors[i].def, m));
+              }
+          }
       }
   }
 
@@ -1368,6 +1472,10 @@
     cb_color_mode->setObjectName (ve_color_mode.key);
     style_grid->addWidget (cb_color_mode, 0, 0);
 
+    QPushButton *pb_reload_default_colors = new QPushButton (settings_reload_colors);
+    pb_reload_default_colors->setToolTip (settings_reload_colors_tooltip);
+    style_grid->addWidget (pb_reload_default_colors, 1, 0);
+
     int column = 1;
     int color_columns = 2;
     int row = 0;
@@ -1397,13 +1505,18 @@
     // update colors depending on second theme selection
     connect (cb_color_mode, SIGNAL (stateChanged (int)),
              this, SLOT (update_varedit_colors (int)));
+    connect (pb_reload_default_colors, &QPushButton::clicked,
+             [=] () { update_varedit_colors (settings_reload_default_colors_flag); });
   }
 
-  void settings_dialog::update_varedit_colors (int mode)
+  void settings_dialog::update_varedit_colors (int def)
   {
-    int m = mode;
-    if (m > 1)
-      m = 1; // Currently one more color mode
+    QCheckBox *cb_color_mode
+      = varedit_colors_box->findChild <QCheckBox *> (ve_color_mode.key);
+
+    int m = 0;
+    if (cb_color_mode && cb_color_mode->isChecked ())
+      m = 1;
 
     resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
     gui_settings *settings = rmgr.get_settings ();
@@ -1414,7 +1527,18 @@
       {
         c_picker = varedit_colors_box->findChild <color_picker *> (ve_colors[i].key);
         if (c_picker)
-          c_picker->set_color (settings->color_value (ve_colors[i], m));
+          {
+            if (def != settings_reload_default_colors_flag)
+              {
+                // Get current value from settings or the default
+                c_picker->set_color (settings->color_value (ve_colors[i], m));
+              }
+            else
+              {
+                // Get the default value
+                c_picker->set_color (settings->get_color_value (ve_colors[i].def, m));
+              }
+          }
       }
   }
 
--- a/libgui/src/settings-dialog.h	Sun Apr 11 19:22:30 2021 +0200
+++ b/libgui/src/settings-dialog.h	Sun Apr 11 19:22:31 2021 +0200
@@ -68,10 +68,10 @@
     void proxy_items_update (void);
 
     // slots updating colors depending on theme
-    void update_terminal_colors (int mode);
-    void update_workspace_colors (int mode);
-    void update_varedit_colors (int mode);
-    void update_editor_lexers (int mode);
+    void update_terminal_colors (int def = 0);
+    void update_workspace_colors (int def = 0);
+    void update_varedit_colors (int def = 0);
+    void update_editor_lexers (int def = 0);
 
     // slots for dialog's buttons
     void button_clicked (QAbstractButton *button);
@@ -84,9 +84,9 @@
   private:
 
 #if defined (HAVE_QSCINTILLA)
-    void update_lexer (QsciLexer *lexer, gui_settings *settings, int mode);
+    void update_lexer (QsciLexer *lexer, gui_settings *settings, int mode, int def = 0);
     void get_lexer_settings (QsciLexer *lexer, gui_settings *settings);
-    void write_lexer_settings (QsciLexer *lexer, gui_settings *settings, int mode);
+    void write_lexer_settings (QsciLexer *lexer, gui_settings *settings);
 #endif
 
     void write_changed_settings (bool closing);
--- a/libgui/src/settings-dialog.ui	Sun Apr 11 19:22:30 2021 +0200
+++ b/libgui/src/settings-dialog.ui	Sun Apr 11 19:22:31 2021 +0200
@@ -55,8 +55,8 @@
            <rect>
             <x>0</x>
             <y>0</y>
-            <width>1021</width>
-            <height>616</height>
+            <width>1023</width>
+            <height>615</height>
            </rect>
           </property>
           <layout class="QVBoxLayout" name="verticalLayout_17">
@@ -584,8 +584,8 @@
            <rect>
             <x>0</x>
             <y>0</y>
-            <width>1035</width>
-            <height>569</height>
+            <width>1037</width>
+            <height>571</height>
            </rect>
           </property>
           <layout class="QVBoxLayout" name="verticalLayout_7">
@@ -864,9 +864,9 @@
           <property name="geometry">
            <rect>
             <x>0</x>
-            <y>0</y>
-            <width>1021</width>
-            <height>1521</height>
+            <y>-913</y>
+            <width>1023</width>
+            <height>1492</height>
            </rect>
           </property>
           <layout class="QVBoxLayout" name="verticalLayout_16">
@@ -2124,11 +2124,7 @@
                </widget>
               </item>
               <item>
-               <widget class="QCheckBox" name="editor_cb_color_mode">
-                <property name="text">
-                 <string>CheckBox</string>
-                </property>
-               </widget>
+               <layout class="QGridLayout" name="editor_style_grid"/>
               </item>
               <item>
                <widget class="QTabWidget" name="tabs_editor_lexers">
@@ -2177,8 +2173,8 @@
            <rect>
             <x>0</x>
             <y>0</y>
-            <width>1035</width>
-            <height>569</height>
+            <width>1037</width>
+            <height>571</height>
            </rect>
           </property>
           <layout class="QGridLayout" name="gridLayout_8">
@@ -2327,8 +2323,8 @@
            <rect>
             <x>0</x>
             <y>0</y>
-            <width>1035</width>
-            <height>569</height>
+            <width>1037</width>
+            <height>571</height>
            </rect>
           </property>
           <layout class="QVBoxLayout" name="verticalLayout_19">
@@ -2389,8 +2385,8 @@
            <rect>
             <x>0</x>
             <y>0</y>
-            <width>1035</width>
-            <height>569</height>
+            <width>1037</width>
+            <height>571</height>
            </rect>
           </property>
           <layout class="QVBoxLayout" name="verticalLayout_vesc_manual">
@@ -2554,8 +2550,8 @@
            <rect>
             <x>0</x>
             <y>0</y>
-            <width>1035</width>
-            <height>569</height>
+            <width>1037</width>
+            <height>571</height>
            </rect>
           </property>
           <layout class="QVBoxLayout" name="verticalLayout_25">
@@ -2767,8 +2763,8 @@
            <rect>
             <x>0</x>
             <y>0</y>
-            <width>1035</width>
-            <height>569</height>
+            <width>1037</width>
+            <height>571</height>
            </rect>
           </property>
           <layout class="QVBoxLayout" name="verticalLayout_20">