diff libgui/src/settings-dialog.cc @ 19846:72fe9df87fe8

improve scalability of gui objects (as discussed in bug #41938) * files-dock-widget.cc (files_dock_widget): adjust size policy of combo box * history-dock-widget.cc (history_dock_widget): adjust size policy of combo box * workspace-view.cc (workspace_view): adjust size policy of combo box * file-editor-tab.cc (file_editor_tab): make size of eol, line and col indicator depending on font size * main-window.cc (construct_tool_bar): make size of combo box for worling dir depending on font size and adjust size policy * main-window.h: remove static variable for combo box width * settings-dialog.cc (read_lexer_settings): make width of labels and font combo boxes for editor styles depeding on font size * settings-dialog.ui: adjusted size policies of several objects
author Torsten <ttl@justmail.de>
date Tue, 24 Feb 2015 07:12:13 +0100
parents 4197fc428c7d
children 597fc0fd8e54
line wrap: on
line diff
--- a/libgui/src/settings-dialog.cc	Tue Feb 24 13:53:02 2015 +0100
+++ b/libgui/src/settings-dialog.cc	Tue Feb 24 07:12:13 2015 +0100
@@ -450,6 +450,7 @@
   QVector<color_picker*> bg_color (max_style);
   int default_size = 10;
   QFont default_font = QFont ();
+  int label_width;
   QColor default_color = QColor ();
   QColor dummy_color = QColor (255,0,255);
 
@@ -459,12 +460,13 @@
       QFont   actual_font = lexer->font (styles[i]);
       description[i] = new QLabel (actual_name);
       description[i]->setWordWrap (true);
-      description[i]->setMaximumSize (160,QWIDGETSIZE_MAX);
-      description[i]->setMinimumSize (160,1);
+      label_width = 24*description[i]->fontMetrics ().averageCharWidth ();
+      description[i]->setMaximumSize (label_width,QWIDGETSIZE_MAX);
+      description[i]->setMinimumSize (label_width,1);
       select_font[i] = new QFontComboBox ();
       select_font[i]->setObjectName (actual_name+"_font");
-      select_font[i]->setMaximumSize (180,QWIDGETSIZE_MAX);
-      select_font[i]->setMinimumSize (180,1);
+      select_font[i]->setMaximumSize (label_width,QWIDGETSIZE_MAX);
+      select_font[i]->setMinimumSize (label_width,1);
       font_size[i] = new QSpinBox ();
       font_size[i]->setObjectName (actual_name+"_size");
       if (styles[i] == 0) // the default