The branch, master, has been updated.

- Log -----------------------------------------------------------------

commit 4b7fd9fea2729e53dce415f9310c332cc193dcfd
Author: Uwe Stöhr <[email protected]>
Date:   Tue May 14 02:19:43 2013 +0200

    GuiMathMatrix.cpp: fix bug #7049
    
    - we should not fill the dialog comboBoxes in the .ui-files

diff --git a/src/frontends/qt4/GuiMathMatrix.cpp 
b/src/frontends/qt4/GuiMathMatrix.cpp
index 8cc8089..cce00c2 100644
--- a/src/frontends/qt4/GuiMathMatrix.cpp
+++ b/src/frontends/qt4/GuiMathMatrix.cpp
@@ -18,6 +18,9 @@
 
 #include "FuncRequest.h"
 
+#include "support/gettext.h"
+#include "support/docstring.h"
+
 #include <QLineEdit>
 #include <QPushButton>
 #include <QSpinBox>
@@ -27,6 +30,35 @@ using namespace std;
 namespace lyx {
 namespace frontend {
 
+static char const * const DecoChars[] = {
+       N_("None"),
+       N_("[x]"),
+       N_("(x)"),
+       N_("{x}"),
+       N_("|x|"),
+       N_("||x||"),
+       ""
+};
+
+static char const * const DecoNames[] = {
+       N_("bmatrix"),
+       N_("pmatrix"),
+       N_("Bmatrix"),
+       N_("vmatrix"),
+       N_("Vmatrix"),
+       ""
+};
+
+static char const * const VertAligns[] = {
+       N_("Top"),
+       N_("Middle"),
+       N_("Bottom"),
+       ""
+};
+
+static char const v_align_c[] = "tcb";
+
+
 GuiMathMatrix::GuiMathMatrix(GuiView & lv)
        : GuiDialog(lv, "mathmatrix", qt_("Math Matrix"))
 {
@@ -60,6 +92,11 @@ GuiMathMatrix::GuiMathMatrix(GuiView & lv)
        connect(decorationCO, SIGNAL(activated(int)),
                this, SLOT(decorationChanged(int)));
 
+       for (int i = 0; *VertAligns[i]; ++i)
+               valignCO->addItem(qt_(VertAligns[i]));
+       for (int i = 0; *DecoChars[i]; ++i)
+               decorationCO->addItem(qt_(DecoChars[i]));
+
        bc().setPolicy(ButtonPolicy::IgnorantPolicy);
 }
 
@@ -96,7 +133,6 @@ void GuiMathMatrix::slotOK()
        // otherwise it is an AMS matrix
        // decorated matrices cannot have a vertical alignment
        
-       char v_align_c[] = "tcb";
        char const c = v_align_c[valignCO->currentIndex()];
        QString const sh = halignED->text();
        string const str = fromqstr(
@@ -104,25 +140,7 @@ void GuiMathMatrix::slotOK()
 
        if (decorationCO->currentIndex() != 0) {
                int const deco = decorationCO->currentIndex();
-               QString deco_name;
-               // FIXME This is very dangerous way of coding.
-               // The order is defined in .ui file and anybody who will touch 
it
-               // will destroy the whole math decorations machinery.
-               // For better way look on MathDelimiter Size-combo solution and 
biggui[] array.
-               // Similarly for the v_align_c stuff -- at least we should push 
it into
-               // constructor and have it in one file...
-               switch (deco) {
-                       case 1: deco_name = "bmatrix";
-                               break;
-                       case 2: deco_name = "pmatrix";
-                               break;
-                       case 3: deco_name = "Bmatrix";
-                               break;
-                       case 4: deco_name = "vmatrix";
-                               break;
-                       case 5: deco_name = "Vmatrix";
-                               break;
-               }
+               QString deco_name = DecoNames[deco - 1];
                // only if a special alignment is set create a 1x1 AMS array in 
which
                // a normal array will be created, otherwise create just a 
normal AMS array
                if (sh.contains('l') || sh.contains('r')) {
diff --git a/src/frontends/qt4/ui/MathMatrixUi.ui 
b/src/frontends/qt4/ui/MathMatrixUi.ui
index 932d89b..0ff1a0a 100644
--- a/src/frontends/qt4/ui/MathMatrixUi.ui
+++ b/src/frontends/qt4/ui/MathMatrixUi.ui
@@ -1,4 +1,5 @@
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
  <class>MathMatrixUi</class>
  <widget class="QDialog" name="MathMatrixUi">
   <property name="geometry">
@@ -162,21 +163,6 @@
         <property name="toolTip">
          <string>Vertical alignment</string>
         </property>
-        <item>
-         <property name="text">
-          <string>Top</string>
-         </property>
-        </item>
-        <item>
-         <property name="text">
-          <string>Middle</string>
-         </property>
-        </item>
-        <item>
-         <property name="text">
-          <string>Bottom</string>
-         </property>
-        </item>
        </widget>
       </item>
       <item row="0" column="0">
@@ -242,36 +228,6 @@
         <property name="toolTip">
          <string>decoration type / matrix border</string>
         </property>
-        <item>
-         <property name="text">
-          <string>None</string>
-         </property>
-        </item>
-        <item>
-         <property name="text">
-          <string>[x]</string>
-         </property>
-        </item>
-        <item>
-         <property name="text">
-          <string>(x)</string>
-         </property>
-        </item>
-        <item>
-         <property name="text">
-          <string>{x}</string>
-         </property>
-        </item>
-        <item>
-         <property name="text">
-          <string>|x|</string>
-         </property>
-        </item>
-        <item>
-         <property name="text">
-          <string>||x||</string>
-         </property>
-        </item>
        </widget>
       </item>
      </layout>

-----------------------------------------------------------------------

Summary of changes:
 src/frontends/qt4/GuiMathMatrix.cpp  |   58 ++++++++++++++++++++++------------
 src/frontends/qt4/ui/MathMatrixUi.ui |   48 +---------------------------
 2 files changed, 40 insertions(+), 66 deletions(-)


hooks/post-receive
-- 
The LyX Source Repository

Reply via email to