commit 0430132aa049f2a97280bcbcff69f71d42ed7d98
Author: Enrico Forestieri <[email protected]>
Date:   Sun Mar 13 01:51:15 2016 +0100

    Circumvent odd stmary font metrics (part of #9990).
    
    The stmary font has an unusual large descent that was causing a large
    gap between lines in the math delimiter dialog because of the \llbracket
    and \rrbracket delimiters. The solution is to force Qt using the same
    size for all elements of the QlistWidget widget instead of letting it
    compute the size of each element.

diff --git a/src/frontends/qt4/GuiDelimiter.cpp 
b/src/frontends/qt4/GuiDelimiter.cpp
index 31903fc..2ae6def 100644
--- a/src/frontends/qt4/GuiDelimiter.cpp
+++ b/src/frontends/qt4/GuiDelimiter.cpp
@@ -181,6 +181,11 @@ GuiDelimiter::GuiDelimiter(GuiView & lv)
 
        initMathSymbols();
 
+       FontInfo lyxfont;
+       lyxfont.setFamily(CMR_FAMILY);
+       QFontMetrics fm(frontend::getFont(lyxfont));
+       QSize item_size(fm.maxWidth(), fm.height() + 8);
+
        typedef map<char_type, QListWidgetItem *> ListItems;
        ListItems list_items;
        // The last element is the empty one.
@@ -191,11 +196,12 @@ GuiDelimiter::GuiDelimiter(GuiView & lv)
                QString symbol(ms.fontcode?
                        QChar(ms.fontcode) : toqstr(docstring(1, ms.unicode)));
                QListWidgetItem * lwi = new QListWidgetItem(symbol);
-               FontInfo lyxfont;
                lyxfont.setFamily(ms.fontfamily);
                QFont font = frontend::getFont(lyxfont);
                lwi->setFont(font);
                lwi->setToolTip(toqstr(delim));
+               lwi->setSizeHint(item_size);
+               lwi->setTextAlignment(Qt::AlignTop);
                list_items[ms.unicode] = lwi;
                leftLW->addItem(lwi);
        }
diff --git a/src/frontends/qt4/ui/DelimiterUi.ui 
b/src/frontends/qt4/ui/DelimiterUi.ui
index 0044d13..21c6ad1 100644
--- a/src/frontends/qt4/ui/DelimiterUi.ui
+++ b/src/frontends/qt4/ui/DelimiterUi.ui
@@ -84,7 +84,7 @@
           <enum>QListView::Adjust</enum>
          </property>
          <property name="spacing" >
-          <number>0</number>
+          <number>2</number>
          </property>
          <property name="currentRow" >
           <number>-1</number>
@@ -123,7 +123,7 @@
           <enum>QListView::Adjust</enum>
          </property>
          <property name="spacing" >
-          <number>0</number>
+          <number>2</number>
          </property>
         </widget>
        </item>

Reply via email to