changeset 18281:4dadae02bd4c gui-release

max. width of editor tabs limited and configurable * settings-dialog.ui: new spin box for max. tab width * settings-dialog.cc (constructor): set spin box value from settings file; (write_changed_settings): write spin box value into settings file * file-editor.cc (construct): set right text alignment in editor tabs; (notice_settings): set tab's style sheet depending on tab width
author Torsten <ttl@justmail.de>
date Tue, 14 Jan 2014 22:51:43 +0100
parents 8d98ebeceab4
children 12291fb903de
files libgui/src/m-editor/file-editor.cc libgui/src/settings-dialog.cc libgui/src/settings-dialog.ui
diffstat 3 files changed, 134 insertions(+), 68 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/m-editor/file-editor.cc	Tue Jan 14 13:17:55 2014 -0800
+++ b/libgui/src/m-editor/file-editor.cc	Tue Jan 14 22:51:43 2014 +0100
@@ -842,6 +842,13 @@
 {
   int icon_size = settings->value ("toolbar_icon_size", 16).toInt ();
   _tool_bar->setIconSize (QSize (icon_size, icon_size));
+
+  int tab_width = settings->value ("editor/tab_width", 300).toInt ();
+  QString style_sheet = QString ("QTabBar::tab {max-height: 4ex; "
+                                 "max-width: %1px; text-align: right }").
+                                 arg (tab_width);
+  _tab_widget->setStyleSheet (style_sheet);
+
   // Relay signal to file editor tabs.
   emit fetab_settings_changed (settings);
 }
@@ -874,8 +881,7 @@
 #ifdef HAVE_QTABWIDGET_SETMOVABLE
   _tab_widget->setMovable (true);
 #endif
-  _tab_widget->setStyleSheet ("QTabBar::tab {max-height: 4ex; }");
-
+  _tab_widget->setElideMode (Qt::ElideLeft);
 
 
   QAction *new_action = new QAction (QIcon (":/actions/icons/filenew.png"),
--- a/libgui/src/settings-dialog.cc	Tue Jan 14 13:17:55 2014 -0800
+++ b/libgui/src/settings-dialog.cc	Tue Jan 14 22:51:43 2014 +0100
@@ -162,6 +162,8 @@
     settings->value ("editor/tab_width", 2).toInt ());
   ui->editor_longWindowTitle->setChecked (
     settings->value ("editor/longWindowTitle",false).toBool ());
+  ui->editor_tab_width->setValue (
+    settings->value ("editor/tab_width", 300).toInt ());
   ui->editor_restoreSession->setChecked (
     settings->value ("editor/restoreSession", true).toBool ());
   ui->editor_create_new_file->setChecked (
@@ -539,6 +541,8 @@
                       ui->editor_tab_width_spinbox->value ());
   settings->setValue ("editor/longWindowTitle",
                       ui->editor_longWindowTitle->isChecked ());
+  settings->setValue ("editor/tab_width",
+                      ui->editor_tab_width->value ());
   settings->setValue ("editor/restoreSession",
                       ui->editor_restoreSession->isChecked ());
   settings->setValue ("editor/create_new_file",
--- a/libgui/src/settings-dialog.ui	Tue Jan 14 13:17:55 2014 -0800
+++ b/libgui/src/settings-dialog.ui	Tue Jan 14 22:51:43 2014 +0100
@@ -32,7 +32,7 @@
    <item>
     <widget class="QTabWidget" name="tabWidget">
      <property name="currentIndex">
-      <number>0</number>
+      <number>1</number>
      </property>
      <widget class="QWidget" name="tab_general">
       <property name="enabled">
@@ -294,14 +294,14 @@
            <property name="spacing">
             <number>6</number>
            </property>
-           <item row="2" column="0">
+           <item row="3" column="0">
             <widget class="QCheckBox" name="editor_ws_checkbox">
              <property name="text">
               <string>Show whitespace</string>
              </property>
             </widget>
            </item>
-           <item row="1" column="0">
+           <item row="2" column="0">
             <widget class="QCheckBox" name="editor_showLineNumbers">
              <property name="enabled">
               <bool>true</bool>
@@ -311,14 +311,14 @@
              </property>
             </widget>
            </item>
-           <item row="0" column="0">
+           <item row="1" column="0">
             <widget class="QCheckBox" name="editor_longWindowTitle">
              <property name="text">
               <string>Show complete path in window title</string>
              </property>
             </widget>
            </item>
-           <item row="2" column="1">
+           <item row="3" column="2">
             <widget class="QCheckBox" name="editor_ws_indent_checkbox">
              <property name="enabled">
               <bool>false</bool>
@@ -328,7 +328,20 @@
              </property>
             </widget>
            </item>
-           <item row="3" column="0">
+           <item row="4" column="4">
+            <spacer name="horizontalSpacer_18">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>40</width>
+               <height>20</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           <item row="4" column="0">
             <widget class="QCheckBox" name="editor_highlightCurrentLine">
              <property name="enabled">
               <bool>true</bool>
@@ -338,7 +351,7 @@
              </property>
             </widget>
            </item>
-           <item row="3" column="1">
+           <item row="4" column="2">
             <layout class="QGridLayout" name="editor_grid_current_line" rowstretch="0" columnstretch="0,0,0,0,0">
              <property name="horizontalSpacing">
               <number>12</number>
@@ -387,7 +400,7 @@
              </item>
             </layout>
            </item>
-           <item row="0" column="2">
+           <item row="1" column="4">
             <spacer name="horizontalSpacer_12">
              <property name="orientation">
               <enum>Qt::Horizontal</enum>
@@ -400,41 +413,84 @@
              </property>
             </spacer>
            </item>
+           <item row="2" column="4">
+            <spacer name="horizontalSpacer_16">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>40</width>
+               <height>20</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           <item row="3" column="4">
+            <spacer name="horizontalSpacer_17">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>40</width>
+               <height>20</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
            <item row="1" column="2">
-            <spacer name="horizontalSpacer_16">
-             <property name="orientation">
-              <enum>Qt::Horizontal</enum>
-             </property>
-             <property name="sizeHint" stdset="0">
-              <size>
-               <width>40</width>
-               <height>20</height>
-              </size>
-             </property>
-            </spacer>
+            <layout class="QGridLayout" name="gridLayout_6">
+             <item row="0" column="0">
+              <widget class="QLabel" name="label_16">
+               <property name="text">
+                <string>Max. tab width in pixel</string>
+               </property>
+              </widget>
+             </item>
+             <item row="0" column="1">
+              <widget class="QSpinBox" name="editor_tab_width">
+               <property name="minimum">
+                <number>100</number>
+               </property>
+               <property name="maximum">
+                <number>600</number>
+               </property>
+               <property name="singleStep">
+                <number>20</number>
+               </property>
+               <property name="value">
+                <number>300</number>
+               </property>
+              </widget>
+             </item>
+             <item row="0" column="2">
+              <spacer name="horizontalSpacer_25">
+               <property name="orientation">
+                <enum>Qt::Horizontal</enum>
+               </property>
+               <property name="sizeHint" stdset="0">
+                <size>
+                 <width>40</width>
+                 <height>20</height>
+                </size>
+               </property>
+              </spacer>
+             </item>
+            </layout>
            </item>
-           <item row="2" column="2">
-            <spacer name="horizontalSpacer_17">
+           <item row="1" column="1">
+            <spacer name="horizontalSpacer_24">
              <property name="orientation">
               <enum>Qt::Horizontal</enum>
              </property>
-             <property name="sizeHint" stdset="0">
-              <size>
-               <width>40</width>
-               <height>20</height>
-              </size>
-             </property>
-            </spacer>
-           </item>
-           <item row="3" column="2">
-            <spacer name="horizontalSpacer_18">
-             <property name="orientation">
-              <enum>Qt::Horizontal</enum>
+             <property name="sizeType">
+              <enum>QSizePolicy::Fixed</enum>
              </property>
              <property name="sizeHint" stdset="0">
               <size>
-               <width>40</width>
-               <height>20</height>
+               <width>10</width>
+               <height>0</height>
               </size>
              </property>
             </spacer>
@@ -453,8 +509,22 @@
            <property name="verticalSpacing">
             <number>0</number>
            </property>
-           <item row="0" column="3">
-            <spacer name="horizontalSpacer_10">
+           <item row="0" column="0">
+            <widget class="QLabel" name="label_13">
+             <property name="text">
+              <string>Indent width</string>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="4">
+            <widget class="QCheckBox" name="editor_tab_ind_checkbox">
+             <property name="text">
+              <string>Tab indents line</string>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="5">
+            <spacer name="horizontalSpacer_14">
              <property name="orientation">
               <enum>Qt::Horizontal</enum>
              </property>
@@ -469,20 +539,6 @@
              </property>
             </spacer>
            </item>
-           <item row="0" column="0">
-            <widget class="QLabel" name="label_13">
-             <property name="text">
-              <string>Indent width</string>
-             </property>
-            </widget>
-           </item>
-           <item row="2" column="4">
-            <widget class="QCheckBox" name="editor_tab_ind_checkbox">
-             <property name="text">
-              <string>Tab indents line</string>
-             </property>
-            </widget>
-           </item>
            <item row="0" column="4">
             <widget class="QCheckBox" name="editor_auto_ind_checkbox">
              <property name="text">
@@ -547,8 +603,21 @@
              </property>
             </spacer>
            </item>
-           <item row="0" column="5">
-            <spacer name="horizontalSpacer_14">
+           <item row="2" column="10">
+            <spacer name="horizontalSpacer_20">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>40</width>
+               <height>20</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           <item row="0" column="3">
+            <spacer name="horizontalSpacer_10">
              <property name="orientation">
               <enum>Qt::Horizontal</enum>
              </property>
@@ -563,19 +632,6 @@
              </property>
             </spacer>
            </item>
-           <item row="2" column="10">
-            <spacer name="horizontalSpacer_20">
-             <property name="orientation">
-              <enum>Qt::Horizontal</enum>
-             </property>
-             <property name="sizeHint" stdset="0">
-              <size>
-               <width>40</width>
-               <height>20</height>
-              </size>
-             </property>
-            </spacer>
-           </item>
           </layout>
          </item>
          <item>