]> git.lyx.org Git - features.git/commitdiff
- support for longtable alignment, fileformat change
authorUwe Stöhr <uwestoehr@web.de>
Sat, 11 Jul 2009 13:09:45 +0000 (13:09 +0000)
committerUwe Stöhr <uwestoehr@web.de>
Sat, 11 Jul 2009 13:09:45 +0000 (13:09 +0000)
- GUI support for table alignment

(all comments to the polished layout of the table dialog welcome)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30477 a592a061-630c-0410-9148-cb99ea01b6c8

development/FORMAT
lib/lyx2lyx/lyx_2_0.py
src/Buffer.cpp
src/LyXAction.cpp
src/frontends/qt4/GuiTabular.cpp
src/frontends/qt4/GuiTabular.h
src/frontends/qt4/ui/TabularUi.ui
src/insets/InsetTabular.cpp
src/insets/InsetTabular.h

index da14ad6d2f252f88bdc85aa9f4b8599984836d03..43adc0a65367f96dd3ac0c0427c8e674eaaff508 100644 (file)
@@ -1,6 +1,10 @@
 LyX file-format changes
 -----------------------
 
+2009-07-11 Uwe Stöhr <uwestoehr@web.de>
+       * Format incremented to 363: support for horizontal longtable
+         alignment.
+  
 2009-06-11 Jürgen Spitzmüller <spitz@lyx.org>
        * Format incremented to 362: support for the applemac encoding.
 
index 28786725ca883c8ff3ea852fd71730be5f7f931b..8966865917b029b12c47993f40dfb3c2decfd708 100644 (file)
@@ -727,6 +727,23 @@ def revert_applemac(document):
             document.header[i] = "\\encoding auto"
 
 
+def revert_longtable_align(document):
+    " Remove longtable alignment setting "
+    i = 0
+    j = 0
+    while True:
+      i = find_token(document.body, "\\begin_inset Tabular", i)
+      if i == -1:
+          break
+      # the alignment is 2 lines below \\begin_inset Tabular 
+      j = document.body[i+2].find("longtabularalignment")
+      if j == -1:
+          break
+      document.body[i+2] = document.body[i+2][:j-1]
+      document.body[i+2] = document.body[i+2] + '>'
+      i = i + 1
+
+
 ##
 # Conversion hub
 #
@@ -748,10 +765,12 @@ convert = [[346, []],
            [359, [convert_nomencl_width]],
            [360, []],
            [361, []],
-           [362, []]
+           [362, []],
+           [363, []]
           ]
 
-revert =  [[361, [revert_applemac]],
+revert =  [[362, [revert_longtable_align]],
+           [361, [revert_applemac]],
            [360, []],
            [359, [revert_nomencl_cwidth]],
            [358, [revert_nomencl_width]],
index 755a6166a0937d36dd29adb6f28e449372c25613..369dff14f8ff4758cf05fd71319773192b6be599 100644 (file)
@@ -127,7 +127,7 @@ namespace {
 
 // Do not remove the comment below, so we get merge conflict in
 // independent branches. Instead add your own.
-int const LYX_FORMAT = 362;  // jspitzm: support applemac encoding
+int const LYX_FORMAT = 363;  // uwestoehr: support for longtable alignment
 
 typedef map<string, bool> DepClean;
 typedef map<docstring, pair<InsetLabel const *, Buffer::References> > RefCache;
index 0585e9e3c59310c883b9eb5f87a5646660cd385f..6acb25a3ff38b6c8fc696e8aba8b7da7d6e1c67e 100644 (file)
@@ -2045,9 +2045,10 @@ void LyXAction::init()
  * \li Params: <FEATURE>: append-row|append-column|delete-row|delete-column|copy-row|copy-column|
                        toggle-line-top|toggle-line-bottom|toggle-line-left|toggle-line-right|
                        align-left|align-right|align-center|align-block|valign-top|valign-bottom|
-                       valign-middle|m-align-left|m-align-right|m-align-center|m-valign-top|
-                       m-valign-bottom|m-valign-middle|multicolumn|set-all-lines|unset-all-lines|
-                       set-longtabular|unset-longtabular|set-pwidth|set-mpwidth|
+                       valign-middle|longtabular-align-left|longtabular-align-center|
+                       longtabular-align-right|m-align-left|m-align-right|m-align-center|
+                       m-valign-top|m-valign-bottom|m-valign-middle|multicolumn|set-all-lines|
+                       unset-all-lines|set-longtabular|unset-longtabular|set-pwidth|set-mpwidth|
                        set-rotate-tabular|unset-rotate-tabular|toggle-rotate-tabular|
                        set-rotate-cell|unset-rotate-cell|toggle-rotate-cell|set-usebox|set-lthead|
                        unset-lthead|set-ltfirsthead|unset-ltfirsthead|set-ltfoot|unset-ltfoot|
index 76c4f95da7307e97d871954f068f2949bb968e65..c162f1fa0cd234487f9a44975fa84cfc9e81893c 100644 (file)
@@ -82,6 +82,8 @@ GuiTabular::GuiTabular(GuiView & lv)
                longtableGB, SLOT(setEnabled(bool)));
        connect(longTabularCB, SIGNAL(toggled(bool)),
                newpageCB, SLOT(setEnabled(bool)));
+       connect(longTabularCB, SIGNAL(toggled(bool)),
+               alignmentGB, SLOT(setEnabled(bool)));
        connect(hAlignCB, SIGNAL(activated(int)),
                this, SLOT(hAlign_changed(int)));
        connect(vAlignCB, SIGNAL(activated(int)),
@@ -138,9 +140,17 @@ GuiTabular::GuiTabular(GuiView & lv)
                this, SLOT(rotateTabular()));
        connect(rotateCellCB, SIGNAL(clicked()),
                this, SLOT(rotateCell()));
+       connect(TableAlignCB, SIGNAL(activated(int)),
+               this, SLOT(tableAlignment_changed(int)));
        connect(longTabularCB, SIGNAL(clicked()),
                this, SLOT(longTabular()));
-
+       connect(leftRB, SIGNAL(clicked()),
+               this, SLOT(ltAlignment_clicked()));
+       connect(centerRB, SIGNAL(clicked()),
+               this, SLOT(ltAlignment_clicked()));
+       connect(rightRB, SIGNAL(clicked()),
+               this, SLOT(ltAlignment_clicked()));
+               
        bc().setPolicy(ButtonPolicy::IgnorantPolicy);
        
        bc().addReadOnly(topspaceED);
@@ -163,6 +173,7 @@ GuiTabular::GuiTabular(GuiView & lv)
        bc().addReadOnly(widthUnit);
        bc().addReadOnly(hAlignCB);
        bc().addReadOnly(vAlignCB);
+       bc().addReadOnly(TableAlignCB);
        bc().addReadOnly(borderSetPB);
        bc().addReadOnly(borderUnsetPB);
        bc().addReadOnly(borders);
@@ -182,7 +193,10 @@ GuiTabular::GuiTabular(GuiView & lv)
        bc().addReadOnly(lastfooterBorderBelowCB);
        bc().addReadOnly(lastfooterNoContentsCB);
        bc().addReadOnly(newpageCB);
-
+       bc().addReadOnly(leftRB);
+       bc().addReadOnly(centerRB);
+       bc().addReadOnly(rightRB);
+       
        // initialize the length validator
        bc().addCheckedLineEdit(widthED, fixedWidthColLA);
        bc().addCheckedLineEdit(topspaceED, topspaceLA);
@@ -420,6 +434,19 @@ void GuiTabular::vAlign_changed(int align)
 }
 
 
+void GuiTabular::tableAlignment_changed(int align)
+{
+       switch (align) {
+               case 0: set(Tabular::TABULAR_VALIGN_TOP);
+                       break;
+               case 1: set(Tabular::TABULAR_VALIGN_MIDDLE);
+                       break;
+               case 2: set(Tabular::TABULAR_VALIGN_BOTTOM);
+                       break;
+       }
+}
+
+
 void GuiTabular::longTabular()
 {
        longTabular(longTabularCB->isChecked());
@@ -587,6 +614,18 @@ void GuiTabular::ltLastFooterEmpty_clicked()
 }
 
 
+void GuiTabular::ltAlignment_clicked()
+{
+       if (leftRB->isChecked())
+               set(Tabular::LONGTABULAR_ALIGN_LEFT);
+       else if (centerRB->isChecked())
+               set(Tabular::LONGTABULAR_ALIGN_CENTER);
+       else if (rightRB->isChecked())
+               set(Tabular::LONGTABULAR_ALIGN_RIGHT);
+       changed();
+}
+
+
 void GuiTabular::update_borders()
 {
        Tabular::idx_type const cell = getActiveCell();
@@ -787,6 +826,23 @@ void GuiTabular::updateContents()
        hAlignCB->setEnabled(true);
        vAlignCB->setEnabled(!pwidth.zero());
 
+       int tableValign = 0;
+       switch (tabular_.tabular_valignment) {
+       case Tabular::LYX_VALIGN_TOP:
+               tableValign = 0;
+               break;
+       case Tabular::LYX_VALIGN_MIDDLE:
+               tableValign = 1;
+               break;
+       case Tabular::LYX_VALIGN_BOTTOM:
+               tableValign = 2;
+               break;
+       default:
+               tableValign = 0;
+               break;
+       }
+       TableAlignCB->setCurrentIndex(tableValign);
+
        if (!tabular_.is_long_tabular) {
                headerStatusCB->setChecked(false);
                headerBorderAboveCB->setChecked(false);
@@ -809,6 +865,21 @@ void GuiTabular::updateContents()
                captionStatusCB->blockSignals(false);
                return;
        }
+
+       switch (tabular_.longtabular_alignment) {
+       case Tabular::LYX_LONGTABULAR_ALIGN_LEFT:
+               leftRB->setChecked(true);
+               break;
+       case Tabular::LYX_LONGTABULAR_ALIGN_CENTER:
+               centerRB->setChecked(true);
+               break;
+       case Tabular::LYX_LONGTABULAR_ALIGN_RIGHT:
+               rightRB->setChecked(true);
+               break;
+       default:
+               centerRB->setChecked(true);
+               break;
+       }
        captionStatusCB->blockSignals(true);
        captionStatusCB->setChecked(tabular_.ltCaption(row));
        captionStatusCB->blockSignals(false);
index f70d988daa9beb9b8b0ebec4e20e69d5dcd1216a..158a0ad6f1434842904c5f32203a4fde510f7773 100644 (file)
@@ -49,6 +49,7 @@ private Q_SLOTS:
        void rotateCell();
        void hAlign_changed(int align);
        void vAlign_changed(int align);
+       void tableAlignment_changed(int align);
        void specialAlignment_changed();
        void width_changed();
        void longTabular();
@@ -67,6 +68,7 @@ private Q_SLOTS:
        void ltLastFooterBorderAbove_clicked();
        void ltLastFooterBorderBelow_clicked();
        void ltLastFooterEmpty_clicked();
+       void ltAlignment_clicked();
        void on_captionStatusCB_toggled();
 
 private:
index 331413f5c4076d6eb9848811bf6814d38ac8c134..5203e4c2f10b0d92290d554b13db4f387bbc02e6 100644 (file)
-<ui version="4.0" >
+<ui version="4.0">
  <class>TabularUi</class>
- <widget class="QDialog" name="TabularUi" >
-  <property name="geometry" >
+ <widget class="QDialog" name="TabularUi">
+  <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>436</width>
-    <height>359</height>
+    <width>378</width>
+    <height>415</height>
    </rect>
   </property>
-  <property name="windowTitle" >
+  <property name="windowTitle">
    <string/>
   </property>
-  <property name="sizeGripEnabled" >
+  <property name="sizeGripEnabled">
    <bool>true</bool>
   </property>
-  <layout class="QGridLayout" >
-   <property name="margin" >
+  <layout class="QGridLayout">
+   <property name="margin">
     <number>9</number>
    </property>
-   <property name="spacing" >
+   <property name="spacing">
     <number>6</number>
    </property>
-   <item row="0" column="0" >
-    <widget class="QTabWidget" name="TabWidget" >
-     <property name="toolTip" >
+   <item row="1" column="0">
+    <layout class="QHBoxLayout">
+     <property name="spacing">
+      <number>6</number>
+     </property>
+     <property name="margin">
+      <number>0</number>
+     </property>
+     <item>
+      <widget class="QLabel" name="TextLabel1">
+       <property name="text">
+        <string>Current cell:</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QLineEdit" name="tabularRowED">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>40</width>
+         <height>32767</height>
+        </size>
+       </property>
+       <property name="focusPolicy">
+        <enum>Qt::NoFocus</enum>
+       </property>
+       <property name="toolTip">
+        <string>Current row position</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QLineEdit" name="tabularColumnED">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>40</width>
+         <height>32767</height>
+        </size>
+       </property>
+       <property name="focusPolicy">
+        <enum>Qt::NoFocus</enum>
+       </property>
+       <property name="toolTip">
+        <string>Current column position</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="closePB">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text">
+        <string>Close</string>
+       </property>
+       <property name="autoDefault">
+        <bool>false</bool>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item row="0" column="0">
+    <widget class="QTabWidget" name="TabWidget">
+     <property name="toolTip">
       <string/>
      </property>
-     <property name="tabShape" >
+     <property name="tabShape">
       <enum>QTabWidget::Rounded</enum>
      </property>
-     <property name="currentIndex" >
+     <property name="currentIndex">
       <number>0</number>
      </property>
-     <widget class="QWidget" name="Settings" >
-      <attribute name="title" >
+     <widget class="QWidget" name="Settings">
+      <attribute name="title">
        <string>&amp;Table Settings</string>
       </attribute>
-      <layout class="QGridLayout" >
-       <property name="margin" >
-        <number>9</number>
-       </property>
-       <property name="spacing" >
-        <number>6</number>
-       </property>
-       <item row="1" column="0" colspan="3" >
-        <widget class="QGroupBox" name="GroupBox12" >
-         <property name="title" >
-          <string>Column Width</string>
+      <layout class="QGridLayout" name="gridLayout_6">
+       <item row="0" column="0">
+        <widget class="QGroupBox" name="GroupBox12">
+         <property name="title">
+          <string>Column settings</string>
          </property>
-         <layout class="QGridLayout" >
-          <property name="margin" >
-           <number>9</number>
-          </property>
-          <property name="spacing" >
-           <number>6</number>
-          </property>
-          <item row="0" column="2" >
-           <widget class="LengthCombo" name="widthUnit" />
+         <layout class="QGridLayout" name="gridLayout_5">
+          <item row="0" column="0">
+           <widget class="QLabel" name="hAlignCO">
+            <property name="text">
+             <string>&amp;Horizontal alignment:</string>
+            </property>
+            <property name="buddy">
+             <cstring>hAlignCB</cstring>
+            </property>
+           </widget>
           </item>
-          <item row="0" column="1" >
-           <widget class="QLineEdit" name="widthED" >
-            <property name="enabled" >
+          <item row="0" column="1">
+           <widget class="QComboBox" name="hAlignCB">
+            <property name="toolTip">
+             <string>Horizontal alignment in column</string>
+            </property>
+            <item>
+             <property name="text">
+              <string>Justified</string>
+             </property>
+            </item>
+            <item>
+             <property name="text">
+              <string>Left</string>
+             </property>
+            </item>
+            <item>
+             <property name="text">
+              <string>Center</string>
+             </property>
+            </item>
+            <item>
+             <property name="text">
+              <string>Right</string>
+             </property>
+            </item>
+           </widget>
+          </item>
+          <item row="0" column="2">
+           <spacer>
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
+            </property>
+            <property name="sizeType">
+             <enum>QSizePolicy::Expanding</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>40</width>
+              <height>20</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="fixedWidthColLA">
+            <property name="text">
+             <string>&amp;Width:</string>
+            </property>
+            <property name="buddy">
+             <cstring>widthED</cstring>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QLineEdit" name="widthED">
+            <property name="enabled">
              <bool>true</bool>
             </property>
-            <property name="toolTip" >
+            <property name="toolTip">
              <string>Fixed width of the column</string>
             </property>
-            <property name="text" >
+            <property name="text">
              <string/>
             </property>
            </widget>
           </item>
-          <item row="1" column="1" colspan="2" >
-           <widget class="QComboBox" name="vAlignCB" >
-            <property name="toolTip" >
+          <item row="1" column="2">
+           <widget class="LengthCombo" name="widthUnit"/>
+          </item>
+          <item row="1" column="3">
+           <spacer name="spacer_3">
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
+            </property>
+            <property name="sizeType">
+             <enum>QSizePolicy::Expanding</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>7</width>
+              <height>20</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item row="2" column="0">
+           <widget class="QLabel" name="vAlignCO">
+            <property name="text">
+             <string>&amp;Vertical alignment in row:</string>
+            </property>
+            <property name="buddy">
+             <cstring>vAlignCB</cstring>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QComboBox" name="vAlignCB">
+            <property name="toolTip">
              <string>Specifies the vertical alignment of this cell in relation to the baseline of the row.</string>
             </property>
             <item>
-             <property name="text" >
+             <property name="text">
               <string>Top</string>
              </property>
             </item>
             <item>
-             <property name="text" >
+             <property name="text">
               <string>Middle</string>
              </property>
             </item>
             <item>
-             <property name="text" >
+             <property name="text">
               <string>Bottom</string>
              </property>
             </item>
            </widget>
           </item>
-          <item row="0" column="0" >
-           <widget class="QLabel" name="fixedWidthColLA" >
-            <property name="text" >
-             <string>&amp;Width:</string>
+          <item row="2" column="2">
+           <spacer name="spacer">
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
             </property>
-            <property name="buddy" >
-             <cstring>widthED</cstring>
+            <property name="sizeType">
+             <enum>QSizePolicy::Expanding</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>40</width>
+              <height>20</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item row="3" column="0">
+           <widget class="QCheckBox" name="multicolumnCB">
+            <property name="toolTip">
+             <string>Merge cells</string>
+            </property>
+            <property name="text">
+             <string>&amp;Multicolumn</string>
             </property>
            </widget>
           </item>
-          <item row="1" column="0" >
-           <widget class="QLabel" name="vAlignCO" >
-            <property name="text" >
-             <string>&amp;Vertical alignment in row:</string>
+         </layout>
+        </widget>
+       </item>
+       <item row="1" column="0">
+        <widget class="QGroupBox" name="groupBox">
+         <property name="title">
+          <string>Cell setting</string>
+         </property>
+         <layout class="QGridLayout" name="gridLayout_3">
+          <item row="0" column="0">
+           <widget class="QCheckBox" name="rotateCellCB">
+            <property name="toolTip">
+             <string>Rotate this cell by 90 degrees</string>
             </property>
-            <property name="buddy" >
-             <cstring>vAlignCB</cstring>
+            <property name="text">
+             <string>Rotate &amp;cell 90 degrees</string>
             </property>
            </widget>
           </item>
          </layout>
         </widget>
        </item>
-       <item row="0" column="0" >
-        <widget class="QLabel" name="hAlignCO" >
-         <property name="text" >
-          <string>&amp;Horizontal alignment:</string>
+       <item row="2" column="0">
+        <widget class="QGroupBox" name="tabAlignmentGB">
+         <property name="enabled">
+          <bool>true</bool>
          </property>
-         <property name="buddy" >
-          <cstring>hAlignCB</cstring>
+         <property name="title">
+          <string>Table-wide settings</string>
          </property>
+         <layout class="QGridLayout" name="gridLayout_4">
+          <item row="0" column="0">
+           <widget class="QLabel" name="TableAlignCO">
+            <property name="text">
+             <string>Verti&amp;cal alignment:</string>
+            </property>
+            <property name="buddy">
+             <cstring>vAlignCB</cstring>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QComboBox" name="TableAlignCB">
+            <property name="toolTip">
+             <string>Specifies the vertical alignment of this cell in relation to the baseline of the row.</string>
+            </property>
+            <property name="currentIndex">
+             <number>1</number>
+            </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="2">
+           <spacer name="spacer_2">
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
+            </property>
+            <property name="sizeType">
+             <enum>QSizePolicy::Expanding</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>153</width>
+              <height>20</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item row="1" column="0" colspan="2">
+           <widget class="QCheckBox" name="rotateTabularCB">
+            <property name="enabled">
+             <bool>true</bool>
+            </property>
+            <property name="toolTip">
+             <string>Rotate the table by 90 degrees</string>
+            </property>
+            <property name="text">
+             <string>&amp;Rotate table 90 degrees</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
         </widget>
        </item>
-       <item row="0" column="1" >
-        <widget class="QComboBox" name="hAlignCB" >
-         <property name="toolTip" >
-          <string>Horizontal alignment in column</string>
-         </property>
-         <item>
-          <property name="text" >
-           <string>Justified</string>
-          </property>
-         </item>
-         <item>
-          <property name="text" >
-           <string>Left</string>
-          </property>
-         </item>
+       <item row="3" column="0">
+        <layout class="QHBoxLayout" name="horizontalLayout">
          <item>
-          <property name="text" >
-           <string>Center</string>
-          </property>
+          <widget class="QLabel" name="specialAlignmentLA">
+           <property name="text">
+            <string>LaTe&amp;X argument:</string>
+           </property>
+           <property name="buddy">
+            <cstring>specialAlignmentED</cstring>
+           </property>
+          </widget>
          </item>
          <item>
-          <property name="text" >
-           <string>Right</string>
-          </property>
+          <widget class="QLineEdit" name="specialAlignmentED">
+           <property name="toolTip">
+            <string>Custom column format (LaTeX)</string>
+           </property>
+          </widget>
          </item>
-        </widget>
+        </layout>
        </item>
-       <item row="0" column="2" >
-        <spacer>
-         <property name="orientation" >
-          <enum>Qt::Horizontal</enum>
-         </property>
-         <property name="sizeType" >
-          <enum>QSizePolicy::Expanding</enum>
+       <item row="4" column="0">
+        <spacer name="verticalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
          </property>
-         <property name="sizeHint" >
+         <property name="sizeHint" stdset="0">
           <size>
            <width>20</width>
-           <height>20</height>
+           <height>68</height>
           </size>
          </property>
         </spacer>
        </item>
-       <item row="3" column="0" colspan="2" >
-        <widget class="QCheckBox" name="rotateTabularCB" >
-         <property name="enabled" >
-          <bool>true</bool>
-         </property>
-         <property name="toolTip" >
-          <string>Rotate the table by 90 degrees</string>
-         </property>
-         <property name="text" >
-          <string>&amp;Rotate table 90 degrees</string>
-         </property>
-        </widget>
-       </item>
-       <item row="4" column="0" colspan="2" >
-        <widget class="QCheckBox" name="rotateCellCB" >
-         <property name="toolTip" >
-          <string>Rotate this cell by 90 degrees</string>
-         </property>
-         <property name="text" >
-          <string>Rotate &amp;cell 90 degrees</string>
-         </property>
-        </widget>
-       </item>
-       <item row="2" column="0" >
-        <widget class="QCheckBox" name="multicolumnCB" >
-         <property name="toolTip" >
-          <string>Merge cells</string>
-         </property>
-         <property name="text" >
-          <string>&amp;Multicolumn</string>
-         </property>
-        </widget>
-       </item>
-       <item row="5" column="0" >
-        <widget class="QLabel" name="specialAlignmentLA" >
-         <property name="text" >
-          <string>LaTe&amp;X argument:</string>
-         </property>
-         <property name="buddy" >
-          <cstring>specialAlignmentED</cstring>
-         </property>
-        </widget>
-       </item>
-       <item row="5" column="1" colspan="2" >
-        <widget class="QLineEdit" name="specialAlignmentED" >
-         <property name="toolTip" >
-          <string>Custom column format (LaTeX)</string>
-         </property>
-        </widget>
-       </item>
       </layout>
      </widget>
-     <widget class="QWidget" name="Borders" >
-      <attribute name="title" >
+     <widget class="QWidget" name="Borders">
+      <attribute name="title">
        <string>&amp;Borders</string>
       </attribute>
-      <layout class="QGridLayout" >
-       <property name="margin" >
+      <layout class="QGridLayout">
+       <property name="margin">
         <number>9</number>
        </property>
-       <property name="spacing" >
+       <property name="spacing">
         <number>6</number>
        </property>
-       <item row="0" column="0" >
-        <layout class="QGridLayout" >
-         <property name="margin" >
+       <item row="0" column="0">
+        <layout class="QGridLayout">
+         <property name="margin">
           <number>0</number>
          </property>
-         <property name="spacing" >
+         <property name="spacing">
           <number>6</number>
          </property>
-         <item row="0" column="1" >
-          <widget class="QGroupBox" name="allBordersGB" >
-           <property name="title" >
+         <item row="0" column="1">
+          <widget class="QGroupBox" name="allBordersGB">
+           <property name="title">
             <string>All Borders</string>
            </property>
-           <layout class="QGridLayout" >
-            <property name="margin" >
+           <layout class="QGridLayout">
+            <property name="margin">
              <number>9</number>
             </property>
-            <property name="spacing" >
+            <property name="spacing">
              <number>6</number>
             </property>
-            <item row="0" column="0" >
-             <widget class="QPushButton" name="borderSetPB" >
-              <property name="toolTip" >
+            <item row="0" column="0">
+             <widget class="QPushButton" name="borderSetPB">
+              <property name="toolTip">
                <string>Set all borders of the current (selected) cell(s)</string>
               </property>
-              <property name="text" >
+              <property name="text">
                <string>&amp;Set</string>
               </property>
              </widget>
             </item>
-            <item row="1" column="0" >
-             <widget class="QPushButton" name="borderUnsetPB" >
-              <property name="toolTip" >
+            <item row="1" column="0">
+             <widget class="QPushButton" name="borderUnsetPB">
+              <property name="toolTip">
                <string>Unset all borders of the current (selected) cell(s)</string>
               </property>
-              <property name="text" >
+              <property name="text">
                <string>C&amp;lear</string>
               </property>
              </widget>
            </layout>
           </widget>
          </item>
-         <item row="0" column="2" >
+         <item row="0" column="2">
           <spacer>
-           <property name="orientation" >
+           <property name="orientation">
             <enum>Qt::Horizontal</enum>
            </property>
-           <property name="sizeType" >
+           <property name="sizeType">
             <enum>QSizePolicy::Expanding</enum>
            </property>
-           <property name="sizeHint" >
+           <property name="sizeHint" stdset="0">
             <size>
              <width>20</width>
              <height>20</height>
            </property>
           </spacer>
          </item>
-         <item row="0" column="3" >
-          <widget class="QGroupBox" name="borderStyleGB" >
-           <property name="title" >
+         <item row="0" column="3">
+          <widget class="QGroupBox" name="borderStyleGB">
+           <property name="title">
             <string>Style</string>
            </property>
-           <layout class="QGridLayout" >
-            <property name="margin" >
+           <layout class="QGridLayout">
+            <property name="margin">
              <number>9</number>
             </property>
-            <property name="spacing" >
+            <property name="spacing">
              <number>6</number>
             </property>
-            <item row="1" column="0" >
-             <widget class="QRadioButton" name="booktabsRB" >
-              <property name="toolTip" >
+            <item row="1" column="0">
+             <widget class="QRadioButton" name="booktabsRB">
+              <property name="toolTip">
                <string>Use formal (a.k.a. booktabs) border style (no vertical borders)</string>
               </property>
-              <property name="text" >
+              <property name="text">
                <string>Fo&amp;rmal</string>
               </property>
-              <property name="checked" >
+              <property name="checked">
                <bool>true</bool>
               </property>
              </widget>
             </item>
-            <item row="0" column="0" >
-             <widget class="QRadioButton" name="borderDefaultRB" >
-              <property name="toolTip" >
+            <item row="0" column="0">
+             <widget class="QRadioButton" name="borderDefaultRB">
+              <property name="toolTip">
                <string>Use default (grid-like) border style</string>
               </property>
-              <property name="text" >
+              <property name="text">
                <string>De&amp;fault</string>
               </property>
              </widget>
            </layout>
           </widget>
          </item>
-         <item row="1" column="1" >
+         <item row="1" column="1">
           <spacer>
-           <property name="orientation" >
+           <property name="orientation">
             <enum>Qt::Vertical</enum>
            </property>
-           <property name="sizeHint" >
+           <property name="sizeHint" stdset="0">
             <size>
              <width>20</width>
              <height>31</height>
            </property>
           </spacer>
          </item>
-         <item row="0" column="0" >
-          <widget class="QGroupBox" name="setBordersGB" >
-           <property name="title" >
+         <item row="0" column="0">
+          <widget class="QGroupBox" name="setBordersGB">
+           <property name="title">
             <string>Set Borders</string>
            </property>
-           <layout class="QGridLayout" >
-            <property name="margin" >
+           <layout class="QGridLayout">
+            <property name="margin">
              <number>9</number>
             </property>
-            <property name="spacing" >
+            <property name="spacing">
              <number>6</number>
             </property>
-            <item row="0" column="0" >
-             <widget class="QFrame" name="bordersF" >
-              <property name="sizePolicy" >
-               <sizepolicy>
-                <hsizetype>0</hsizetype>
-                <vsizetype>0</vsizetype>
+            <item row="0" column="0">
+             <widget class="QFrame" name="bordersF">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
                 <horstretch>0</horstretch>
                 <verstretch>0</verstretch>
                </sizepolicy>
               </property>
-              <property name="palette" >
+              <property name="palette">
                <palette>
                 <active>
-                 <colorrole role="WindowText" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="WindowText">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>0</red>
                     <green>0</green>
                     <blue>0</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Button" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Button">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>230</red>
                     <green>240</green>
                     <blue>249</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Light" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Light">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>255</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Midlight" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Midlight">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>242</red>
                     <green>247</green>
                     <blue>252</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Dark" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Dark">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>115</red>
                     <green>120</green>
                     <blue>124</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Mid" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Mid">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>154</red>
                     <green>160</green>
                     <blue>166</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Text" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Text">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>0</red>
                     <green>0</green>
                     <blue>0</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="BrightText" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="BrightText">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>255</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="ButtonText" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="ButtonText">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>0</red>
                     <green>0</green>
                     <blue>0</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Base" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Base">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>255</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Window" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Window">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>255</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Shadow" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Shadow">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>0</red>
                     <green>0</green>
                     <blue>0</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Highlight" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Highlight">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>16</red>
                     <green>145</green>
                     <blue>210</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="HighlightedText" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="HighlightedText">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>255</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Link" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Link">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>0</red>
                     <green>0</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="LinkVisited" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="LinkVisited">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>0</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="AlternateBase" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="AlternateBase">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>232</red>
                     <green>232</green>
                     <blue>232</blue>
                  </colorrole>
                 </active>
                 <inactive>
-                 <colorrole role="WindowText" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="WindowText">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>0</red>
                     <green>0</green>
                     <blue>0</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Button" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Button">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>230</red>
                     <green>240</green>
                     <blue>249</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Light" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Light">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>255</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Midlight" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Midlight">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>255</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Dark" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Dark">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>115</red>
                     <green>120</green>
                     <blue>124</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Mid" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Mid">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>154</red>
                     <green>160</green>
                     <blue>166</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Text" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Text">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>0</red>
                     <green>0</green>
                     <blue>0</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="BrightText" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="BrightText">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>255</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="ButtonText" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="ButtonText">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>0</red>
                     <green>0</green>
                     <blue>0</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Base" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Base">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>255</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Window" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Window">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>255</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Shadow" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Shadow">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>0</red>
                     <green>0</green>
                     <blue>0</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Highlight" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Highlight">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>16</red>
                     <green>145</green>
                     <blue>210</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="HighlightedText" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="HighlightedText">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>255</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Link" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Link">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>0</red>
                     <green>0</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="LinkVisited" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="LinkVisited">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>0</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="AlternateBase" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="AlternateBase">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>232</red>
                     <green>232</green>
                     <blue>232</blue>
                  </colorrole>
                 </inactive>
                 <disabled>
-                 <colorrole role="WindowText" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="WindowText">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>128</red>
                     <green>128</green>
                     <blue>128</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Button" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Button">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>230</red>
                     <green>240</green>
                     <blue>249</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Light" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Light">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>255</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Midlight" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Midlight">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>255</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Dark" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Dark">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>115</red>
                     <green>120</green>
                     <blue>124</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Mid" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Mid">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>154</red>
                     <green>160</green>
                     <blue>166</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Text" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Text">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>0</red>
                     <green>0</green>
                     <blue>0</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="BrightText" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="BrightText">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>255</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="ButtonText" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="ButtonText">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>128</red>
                     <green>128</green>
                     <blue>128</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Base" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Base">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>255</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Window" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Window">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>255</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Shadow" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Shadow">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>0</red>
                     <green>0</green>
                     <blue>0</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Highlight" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Highlight">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>16</red>
                     <green>145</green>
                     <blue>210</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="HighlightedText" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="HighlightedText">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>255</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="Link" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="Link">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>0</red>
                     <green>0</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="LinkVisited" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="LinkVisited">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>255</red>
                     <green>0</green>
                     <blue>255</blue>
                    </color>
                   </brush>
                  </colorrole>
-                 <colorrole role="AlternateBase" >
-                  <brush brushstyle="SolidPattern" >
-                   <color alpha="255" >
+                 <colorrole role="AlternateBase">
+                  <brush brushstyle="SolidPattern">
+                   <color alpha="255">
                     <red>232</red>
                     <green>232</green>
                     <blue>232</blue>
                 </disabled>
                </palette>
               </property>
-              <property name="frameShape" >
+              <property name="frameShape">
                <enum>QFrame::StyledPanel</enum>
               </property>
-              <property name="frameShadow" >
+              <property name="frameShadow">
                <enum>QFrame::Sunken</enum>
               </property>
-              <layout class="QGridLayout" >
-               <property name="margin" >
+              <layout class="QGridLayout">
+               <property name="margin">
                 <number>9</number>
                </property>
-               <property name="spacing" >
+               <property name="spacing">
                 <number>6</number>
                </property>
-               <item row="0" column="0" >
-                <widget class="GuiSetBorder" native="1" name="borders" >
-                 <property name="sizePolicy" >
-                  <sizepolicy>
-                   <hsizetype>0</hsizetype>
-                   <vsizetype>0</vsizetype>
+               <item row="0" column="0">
+                <widget class="GuiSetBorder" name="borders" native="true">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
                    <horstretch>0</horstretch>
                    <verstretch>0</verstretch>
                   </sizepolicy>
                  </property>
-                 <property name="toolTip" >
+                 <property name="toolTip">
                   <string>Set borders of the current (selected) cell(s)</string>
                  </property>
                 </widget>
            </layout>
           </widget>
          </item>
-         <item row="2" column="0" colspan="4" >
-          <widget class="QGroupBox" name="SpaceGB" >
-           <property name="title" >
+         <item row="2" column="0" colspan="4">
+          <widget class="QGroupBox" name="SpaceGB">
+           <property name="title">
             <string>Additional Space</string>
            </property>
-           <layout class="QGridLayout" >
-            <property name="margin" >
+           <layout class="QGridLayout">
+            <property name="margin">
              <number>9</number>
             </property>
-            <property name="spacing" >
+            <property name="spacing">
              <number>6</number>
             </property>
-            <item row="0" column="0" >
-             <widget class="QLabel" name="topspaceLA" >
-              <property name="text" >
+            <item row="0" column="0">
+             <widget class="QLabel" name="topspaceLA">
+              <property name="text">
                <string>T&amp;op of row:</string>
               </property>
-              <property name="buddy" >
+              <property name="buddy">
                <cstring>topspaceCO</cstring>
               </property>
              </widget>
             </item>
-            <item row="0" column="2" >
-             <widget class="QLineEdit" name="topspaceED" />
+            <item row="0" column="2">
+             <widget class="QLineEdit" name="topspaceED"/>
             </item>
-            <item row="0" column="3" >
-             <widget class="LengthCombo" name="topspaceUnit" />
+            <item row="0" column="3">
+             <widget class="LengthCombo" name="topspaceUnit"/>
             </item>
-            <item row="0" column="1" >
-             <widget class="QComboBox" name="topspaceCO" >
+            <item row="0" column="1">
+             <widget class="QComboBox" name="topspaceCO">
               <item>
-               <property name="text" >
+               <property name="text">
                 <string>None</string>
                </property>
               </item>
               <item>
-               <property name="text" >
+               <property name="text">
                 <string>Default</string>
                </property>
               </item>
               <item>
-               <property name="text" >
+               <property name="text">
                 <string>Custom</string>
                </property>
               </item>
              </widget>
             </item>
-            <item row="1" column="1" >
-             <widget class="QComboBox" name="bottomspaceCO" >
+            <item row="1" column="1">
+             <widget class="QComboBox" name="bottomspaceCO">
               <item>
-               <property name="text" >
+               <property name="text">
                 <string>None</string>
                </property>
               </item>
               <item>
-               <property name="text" >
+               <property name="text">
                 <string>Default</string>
                </property>
               </item>
               <item>
-               <property name="text" >
+               <property name="text">
                 <string>Custom</string>
                </property>
               </item>
              </widget>
             </item>
-            <item row="1" column="3" >
-             <widget class="LengthCombo" name="bottomspaceUnit" />
+            <item row="1" column="3">
+             <widget class="LengthCombo" name="bottomspaceUnit"/>
             </item>
-            <item row="1" column="2" >
-             <widget class="QLineEdit" name="bottomspaceED" />
+            <item row="1" column="2">
+             <widget class="QLineEdit" name="bottomspaceED"/>
             </item>
-            <item row="1" column="0" >
-             <widget class="QLabel" name="bottomspaceLA" >
-              <property name="text" >
+            <item row="1" column="0">
+             <widget class="QLabel" name="bottomspaceLA">
+              <property name="text">
                <string>Botto&amp;m of row:</string>
               </property>
-              <property name="buddy" >
+              <property name="buddy">
                <cstring>bottomspaceCO</cstring>
               </property>
              </widget>
             </item>
-            <item row="2" column="2" >
-             <widget class="QLineEdit" name="interlinespaceED" />
+            <item row="2" column="2">
+             <widget class="QLineEdit" name="interlinespaceED"/>
             </item>
-            <item row="2" column="0" >
-             <widget class="QLabel" name="interlinespaceLA" >
-              <property name="text" >
+            <item row="2" column="0">
+             <widget class="QLabel" name="interlinespaceLA">
+              <property name="text">
                <string>Bet&amp;ween rows:</string>
               </property>
-              <property name="buddy" >
+              <property name="buddy">
                <cstring>interlinespaceCO</cstring>
               </property>
              </widget>
             </item>
-            <item row="2" column="1" >
-             <widget class="QComboBox" name="interlinespaceCO" >
+            <item row="2" column="1">
+             <widget class="QComboBox" name="interlinespaceCO">
               <item>
-               <property name="text" >
+               <property name="text">
                 <string>None</string>
                </property>
               </item>
               <item>
-               <property name="text" >
+               <property name="text">
                 <string>Default</string>
                </property>
               </item>
               <item>
-               <property name="text" >
+               <property name="text">
                 <string>Custom</string>
                </property>
               </item>
              </widget>
             </item>
-            <item row="2" column="3" >
-             <widget class="LengthCombo" name="interlinespaceUnit" />
+            <item row="2" column="3">
+             <widget class="LengthCombo" name="interlinespaceUnit"/>
             </item>
            </layout>
           </widget>
        </item>
       </layout>
      </widget>
-     <widget class="QWidget" name="Longtables" >
-      <attribute name="title" >
+     <widget class="QWidget" name="Longtables">
+      <attribute name="title">
        <string>&amp;Longtable</string>
       </attribute>
-      <layout class="QGridLayout" >
-       <property name="margin" >
-        <number>9</number>
-       </property>
-       <property name="spacing" >
-        <number>6</number>
-       </property>
-       <item row="3" column="0" >
-        <spacer>
-         <property name="orientation" >
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeHint" >
-          <size>
-           <width>91</width>
-           <height>31</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-       <item row="2" column="0" >
-        <widget class="QCheckBox" name="newpageCB" >
-         <property name="enabled" >
-          <bool>false</bool>
-         </property>
-         <property name="toolTip" >
-          <string>Set a page break on the current row</string>
+      <layout class="QGridLayout" name="gridLayout_2">
+       <item row="0" column="0">
+        <widget class="QCheckBox" name="longTabularCB">
+         <property name="toolTip">
+          <string>Select for tables that span multiple pages</string>
          </property>
-         <property name="text" >
-          <string>Page &amp;break on current row</string>
+         <property name="text">
+          <string>&amp;Use long table</string>
          </property>
         </widget>
        </item>
-       <item row="1" column="0" >
-        <widget class="QGroupBox" name="longtableGB" >
-         <property name="enabled" >
+       <item row="1" column="0">
+        <widget class="QGroupBox" name="longtableGB">
+         <property name="enabled">
           <bool>false</bool>
          </property>
-         <property name="title" >
-          <string>Settings</string>
+         <property name="title">
+          <string>Row settings</string>
          </property>
-         <layout class="QGridLayout" >
-          <property name="margin" >
+         <layout class="QGridLayout">
+          <property name="margin">
            <number>9</number>
           </property>
-          <property name="spacing" >
+          <property name="spacing">
            <number>6</number>
           </property>
-          <item row="0" column="1" >
-           <widget class="QLabel" name="StatusLA" >
-            <property name="text" >
+          <item row="0" column="1">
+           <widget class="QLabel" name="StatusLA">
+            <property name="text">
              <string>Status</string>
             </property>
            </widget>
           </item>
-          <item row="0" column="2" >
-           <widget class="QLabel" name="BorderAboveLA" >
-            <property name="text" >
+          <item row="0" column="2">
+           <widget class="QLabel" name="BorderAboveLA">
+            <property name="text">
              <string>Border above</string>
             </property>
            </widget>
           </item>
-          <item row="0" column="3" >
-           <widget class="QLabel" name="BorderBelowLA" >
-            <property name="text" >
+          <item row="0" column="3">
+           <widget class="QLabel" name="BorderBelowLA">
+            <property name="text">
              <string>Border below</string>
             </property>
            </widget>
           </item>
-          <item row="0" column="4" >
-           <widget class="QLabel" name="ContentsLA" >
-            <property name="text" >
+          <item row="0" column="4">
+           <widget class="QLabel" name="ContentsLA">
+            <property name="text">
              <string>Contents</string>
             </property>
            </widget>
           </item>
-          <item row="1" column="0" >
-           <widget class="QLabel" name="HeaderLA" >
-            <property name="text" >
+          <item row="1" column="0">
+           <widget class="QLabel" name="HeaderLA">
+            <property name="text">
              <string>Header:</string>
             </property>
            </widget>
           </item>
-          <item row="1" column="1" >
-           <widget class="QCheckBox" name="headerStatusCB" >
-            <property name="toolTip" >
+          <item row="1" column="1">
+           <widget class="QCheckBox" name="headerStatusCB">
+            <property name="toolTip">
              <string>Repeat this row as header on every (except the first) page</string>
             </property>
-            <property name="text" >
+            <property name="text">
              <string>on</string>
             </property>
            </widget>
           </item>
-          <item row="1" column="2" >
-           <widget class="QCheckBox" name="headerBorderAboveCB" >
-            <property name="toolTip" >
+          <item row="1" column="2">
+           <widget class="QCheckBox" name="headerBorderAboveCB">
+            <property name="toolTip">
              <string/>
             </property>
-            <property name="text" >
+            <property name="text">
              <string>double</string>
             </property>
            </widget>
           </item>
-          <item row="1" column="3" >
-           <widget class="QCheckBox" name="headerBorderBelowCB" >
-            <property name="text" >
+          <item row="1" column="3">
+           <widget class="QCheckBox" name="headerBorderBelowCB">
+            <property name="text">
              <string>double</string>
             </property>
            </widget>
           </item>
-          <item row="2" column="0" >
-           <widget class="QLabel" name="FirstHeaderLA" >
-            <property name="text" >
+          <item row="2" column="0">
+           <widget class="QLabel" name="FirstHeaderLA">
+            <property name="text">
              <string>First header:</string>
             </property>
            </widget>
           </item>
-          <item row="2" column="1" >
-           <widget class="QCheckBox" name="firstheaderStatusCB" >
-            <property name="toolTip" >
+          <item row="2" column="1">
+           <widget class="QCheckBox" name="firstheaderStatusCB">
+            <property name="toolTip">
              <string>This row is the header of the first page</string>
             </property>
-            <property name="whatsThis" >
+            <property name="whatsThis">
              <string/>
             </property>
-            <property name="text" >
+            <property name="text">
              <string>on</string>
             </property>
            </widget>
           </item>
-          <item row="2" column="2" >
-           <widget class="QCheckBox" name="firstheaderBorderAboveCB" >
-            <property name="text" >
+          <item row="2" column="2">
+           <widget class="QCheckBox" name="firstheaderBorderAboveCB">
+            <property name="text">
              <string>double</string>
             </property>
            </widget>
           </item>
-          <item row="2" column="3" >
-           <widget class="QCheckBox" name="firstheaderBorderBelowCB" >
-            <property name="text" >
+          <item row="2" column="3">
+           <widget class="QCheckBox" name="firstheaderBorderBelowCB">
+            <property name="text">
              <string>double</string>
             </property>
            </widget>
           </item>
-          <item row="2" column="4" >
-           <widget class="QCheckBox" name="firstheaderNoContentsCB" >
-            <property name="toolTip" >
+          <item row="2" column="4">
+           <widget class="QCheckBox" name="firstheaderNoContentsCB">
+            <property name="toolTip">
              <string>Don't output the first header</string>
             </property>
-            <property name="text" >
+            <property name="text">
              <string>is empty</string>
             </property>
            </widget>
           </item>
-          <item row="3" column="0" >
-           <widget class="QLabel" name="FooterLA" >
-            <property name="text" >
+          <item row="3" column="0">
+           <widget class="QLabel" name="FooterLA">
+            <property name="text">
              <string>Footer:</string>
             </property>
            </widget>
           </item>
-          <item row="3" column="1" >
-           <widget class="QCheckBox" name="footerStatusCB" >
-            <property name="toolTip" >
+          <item row="3" column="1">
+           <widget class="QCheckBox" name="footerStatusCB">
+            <property name="toolTip">
              <string>Repeat this row as footer on every (except the last) page</string>
             </property>
-            <property name="text" >
+            <property name="text">
              <string>on</string>
             </property>
            </widget>
           </item>
-          <item row="3" column="2" >
-           <widget class="QCheckBox" name="footerBorderAboveCB" >
-            <property name="text" >
+          <item row="3" column="2">
+           <widget class="QCheckBox" name="footerBorderAboveCB">
+            <property name="text">
              <string>double</string>
             </property>
            </widget>
           </item>
-          <item row="3" column="3" >
-           <widget class="QCheckBox" name="footerBorderBelowCB" >
-            <property name="text" >
+          <item row="3" column="3">
+           <widget class="QCheckBox" name="footerBorderBelowCB">
+            <property name="text">
              <string>double</string>
             </property>
            </widget>
           </item>
-          <item row="4" column="0" >
-           <widget class="QLabel" name="LastFooterLA" >
-            <property name="text" >
+          <item row="4" column="0">
+           <widget class="QLabel" name="LastFooterLA">
+            <property name="text">
              <string>Last footer:</string>
             </property>
            </widget>
           </item>
-          <item row="4" column="1" >
-           <widget class="QCheckBox" name="lastfooterStatusCB" >
-            <property name="toolTip" >
+          <item row="4" column="1">
+           <widget class="QCheckBox" name="lastfooterStatusCB">
+            <property name="toolTip">
              <string>This row is the footer of the last page</string>
             </property>
-            <property name="text" >
+            <property name="text">
              <string>on</string>
             </property>
            </widget>
           </item>
-          <item row="4" column="2" >
-           <widget class="QCheckBox" name="lastfooterBorderAboveCB" >
-            <property name="text" >
+          <item row="4" column="2">
+           <widget class="QCheckBox" name="lastfooterBorderAboveCB">
+            <property name="text">
              <string>double</string>
             </property>
            </widget>
           </item>
-          <item row="4" column="3" >
-           <widget class="QCheckBox" name="lastfooterBorderBelowCB" >
-            <property name="text" >
+          <item row="4" column="3">
+           <widget class="QCheckBox" name="lastfooterBorderBelowCB">
+            <property name="text">
              <string>double</string>
             </property>
            </widget>
           </item>
-          <item row="4" column="4" >
-           <widget class="QCheckBox" name="lastfooterNoContentsCB" >
-            <property name="toolTip" >
+          <item row="4" column="4">
+           <widget class="QCheckBox" name="lastfooterNoContentsCB">
+            <property name="toolTip">
              <string>Don't output the last footer</string>
             </property>
-            <property name="text" >
+            <property name="text">
              <string>is empty</string>
             </property>
            </widget>
           </item>
-          <item row="5" column="0" >
-           <widget class="QLabel" name="label" >
-            <property name="text" >
+          <item row="5" column="0">
+           <widget class="QLabel" name="label">
+            <property name="text">
              <string>Caption:</string>
             </property>
            </widget>
           </item>
-          <item row="5" column="1" >
-           <widget class="QCheckBox" name="captionStatusCB" >
-            <property name="text" >
+          <item row="5" column="1">
+           <widget class="QCheckBox" name="captionStatusCB">
+            <property name="text">
              <string>on</string>
             </property>
            </widget>
          </layout>
         </widget>
        </item>
-       <item row="0" column="0" >
-        <widget class="QCheckBox" name="longTabularCB" >
-         <property name="toolTip" >
-          <string>Select for tables that span multiple pages</string>
+       <item row="2" column="0">
+        <widget class="QCheckBox" name="newpageCB">
+         <property name="enabled">
+          <bool>false</bool>
          </property>
-         <property name="text" >
-          <string>&amp;Use long table</string>
+         <property name="toolTip">
+          <string>Set a page break on the current row</string>
+         </property>
+         <property name="text">
+          <string>Page &amp;break on current row</string>
          </property>
         </widget>
        </item>
+       <item row="3" column="0">
+        <widget class="QGroupBox" name="alignmentGB">
+         <property name="enabled">
+          <bool>false</bool>
+         </property>
+         <property name="title">
+          <string>Longtable alignment</string>
+         </property>
+         <layout class="QGridLayout" name="gridLayout">
+          <item row="0" column="0">
+           <widget class="QRadioButton" name="leftRB">
+            <property name="text">
+             <string>Left</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QRadioButton" name="centerRB">
+            <property name="text">
+             <string>Center</string>
+            </property>
+            <property name="checked">
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="2">
+           <widget class="QRadioButton" name="rightRB">
+            <property name="text">
+             <string>Right</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item row="4" column="0">
+        <spacer name="verticalSpacer">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>91</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
       </layout>
      </widget>
     </widget>
    </item>
-   <item row="1" column="0" >
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
-     </property>
-     <property name="spacing" >
-      <number>6</number>
-     </property>
-     <item>
-      <widget class="QLabel" name="TextLabel1" >
-       <property name="text" >
-        <string>Current cell:</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QLineEdit" name="tabularRowED" >
-       <property name="sizePolicy" >
-        <sizepolicy>
-         <hsizetype>0</hsizetype>
-         <vsizetype>0</vsizetype>
-         <horstretch>0</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
-       <property name="maximumSize" >
-        <size>
-         <width>40</width>
-         <height>32767</height>
-        </size>
-       </property>
-       <property name="focusPolicy" >
-        <enum>Qt::NoFocus</enum>
-       </property>
-       <property name="toolTip" >
-        <string>Current row position</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QLineEdit" name="tabularColumnED" >
-       <property name="sizePolicy" >
-        <sizepolicy>
-         <hsizetype>0</hsizetype>
-         <vsizetype>0</vsizetype>
-         <horstretch>0</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
-       <property name="maximumSize" >
-        <size>
-         <width>40</width>
-         <height>32767</height>
-        </size>
-       </property>
-       <property name="focusPolicy" >
-        <enum>Qt::NoFocus</enum>
-       </property>
-       <property name="toolTip" >
-        <string>Current column position</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType" >
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>20</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="closePB" >
-       <property name="sizePolicy" >
-        <sizepolicy>
-         <hsizetype>0</hsizetype>
-         <vsizetype>0</vsizetype>
-         <horstretch>0</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
-       <property name="text" >
-        <string>Close</string>
-       </property>
-       <property name="autoDefault" >
-        <bool>false</bool>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
   </layout>
  </widget>
  <customwidgets>
   <tabstop>newpageCB</tabstop>
  </tabstops>
  <includes>
-  <include location="local" >qt_i18n.h</include>
+  <include location="local">qt_i18n.h</include>
  </includes>
  <resources/>
  <connections/>
index 93381ca6ce8a85d6590d98c3d4541afcae20551f..001be8e7d71438fe09864873aebc3fe5a2bff045 100644 (file)
@@ -163,6 +163,9 @@ TabularFeature tabularFeature[] =
        { Tabular::TABULAR_VALIGN_TOP, "tabular-valign-top"},
        { Tabular::TABULAR_VALIGN_MIDDLE, "tabular-valign-middle"},
        { Tabular::TABULAR_VALIGN_BOTTOM, "tabular-valign-bottom"},
+       { Tabular::LONGTABULAR_ALIGN_LEFT, "longtabular-align-left" },
+       { Tabular::LONGTABULAR_ALIGN_CENTER, "longtabular-align-center" },
+       { Tabular::LONGTABULAR_ALIGN_RIGHT, "longtabular-align-right" },        
        { Tabular::LAST_ACTION, "" }
 };
 
@@ -257,6 +260,20 @@ string const tostr(LyXAlignment const & num)
 }
 
 
+string const tostr(Tabular::HAlignment const & num)
+{
+       switch (num) {
+       case Tabular::LYX_LONGTABULAR_ALIGN_LEFT:
+               return "left";
+       case Tabular::LYX_LONGTABULAR_ALIGN_CENTER:
+               return "center";
+       case Tabular::LYX_LONGTABULAR_ALIGN_RIGHT:
+               return "right";
+       }
+       return string();
+}
+
+
 string const tostr(Tabular::VAlignment const & num)
 {
        switch (num) {
@@ -304,6 +321,20 @@ bool string2type(string const str, LyXAlignment & num)
 }
 
 
+bool string2type(string const str, Tabular::HAlignment & num)
+{
+       if (str == "left")
+               num = Tabular::LYX_LONGTABULAR_ALIGN_LEFT;
+       else if (str == "center" )
+               num = Tabular::LYX_LONGTABULAR_ALIGN_CENTER;
+       else if (str == "right")
+               num = Tabular::LYX_LONGTABULAR_ALIGN_RIGHT;
+       else
+               return false;
+       return true;
+}
+
+
 bool string2type(string const str, Tabular::VAlignment & num)
 {
        if (str == "top")
@@ -393,6 +424,14 @@ bool getTokenValue(string const & str, char const * token, LyXAlignment & num)
 }
 
 
+bool getTokenValue(string const & str, char const * token,
+                                  Tabular::HAlignment & num)
+{
+       string tmp;
+       return getTokenValue(str, token, tmp) && string2type(tmp, num);
+}
+
+
 bool getTokenValue(string const & str, char const * token,
                                   Tabular::VAlignment & num)
 {
@@ -598,6 +637,7 @@ void Tabular::init(Buffer & buf, row_type rows_arg,
        updateIndexes();
        is_long_tabular = false;
        tabular_valignment = LYX_VALIGN_MIDDLE;
+       longtabular_alignment = LYX_LONGTABULAR_ALIGN_CENTER;
        rotate = false;
        use_booktabs = false;
        size_t row_count = row_info.size();
@@ -1288,6 +1328,7 @@ void Tabular::write(ostream & os) const
           << write_attribute("booktabs", use_booktabs)
           << write_attribute("islongtable", is_long_tabular)
           << write_attribute("tabularvalignment", tabular_valignment)
+          << write_attribute("longtabularalignment", longtabular_alignment)
           << write_attribute("firstHeadTopDL", endfirsthead.topDL)
           << write_attribute("firstHeadBottomDL", endfirsthead.bottomDL)
           << write_attribute("firstHeadEmpty", endfirsthead.empty)
@@ -1387,6 +1428,7 @@ void Tabular::read(Lexer & lex)
        getTokenValue(line, "booktabs", use_booktabs);
        getTokenValue(line, "islongtable", is_long_tabular);
        getTokenValue(line, "tabularvalignment", tabular_valignment);
+       getTokenValue(line, "longtabularalignment", longtabular_alignment);
        getTokenValue(line, "firstHeadTopDL", endfirsthead.topDL);
        getTokenValue(line, "firstHeadBottomDL", endfirsthead.bottomDL);
        getTokenValue(line, "firstHeadEmpty", endfirsthead.empty);
@@ -2313,20 +2355,30 @@ int Tabular::latex(odocstream & os, OutputParams const & runparams) const
                os << "\\begin{sideways}\n";
                ++ret;
        }
-       if (is_long_tabular)
+       if (is_long_tabular) {
                os << "\\begin{longtable}";
-       else
+               switch (longtabular_alignment) {
+               case LYX_LONGTABULAR_ALIGN_LEFT:
+                       os << "[l]";
+                       break;
+               case LYX_LONGTABULAR_ALIGN_CENTER:
+                       break;
+               case LYX_LONGTABULAR_ALIGN_RIGHT:
+                       os << "[r]";
+                       break;
+               }
+       } else {
                os << "\\begin{tabular}";
-
-       switch (tabular_valignment) {
+               switch (tabular_valignment) {
                case LYX_VALIGN_TOP:
                        os << "[t]";
                        break;
+               case LYX_VALIGN_MIDDLE:
+                       break;
                case LYX_VALIGN_BOTTOM:
                        os << "[b]";
                        break;
-               case LYX_VALIGN_MIDDLE:
-                       break;
+               }
        }
        
        os << "{";
@@ -3083,7 +3135,7 @@ void InsetTabular::draw(PainterInfo & pi, int x, int y) const
        BufferView * bv = pi.base.bv;
        Cursor & cur = pi.base.bv->cursor();
 
-       // FIXME: As the full backrgound is painted in drawSelection(),
+       // FIXME: As the full background is painted in drawSelection(),
        // we have no choice but to do a full repaint for the Text cells.
        pi.full_repaint = true;
 
@@ -3915,6 +3967,19 @@ bool InsetTabular::getStatus(Cursor & cur, FuncRequest const & cmd,
                                == Tabular::LYX_VALIGN_BOTTOM);
                        break;
 
+               case Tabular::LONGTABULAR_ALIGN_LEFT:
+                       status.setOnOff(tabular.longtabular_alignment 
+                               == Tabular::LYX_LONGTABULAR_ALIGN_LEFT);
+                       break;
+               case Tabular::LONGTABULAR_ALIGN_CENTER:
+                       status.setOnOff(tabular.longtabular_alignment 
+                               == Tabular::LYX_LONGTABULAR_ALIGN_CENTER);
+                       break;
+               case Tabular::LONGTABULAR_ALIGN_RIGHT:
+                       status.setOnOff(tabular.longtabular_alignment 
+                               == Tabular::LYX_LONGTABULAR_ALIGN_RIGHT);
+                       break;
+
                case Tabular::UNSET_ROTATE_TABULAR:
                        status.setOnOff(!tabular.rotate);
                        break;
@@ -4091,6 +4156,22 @@ bool InsetTabular::getStatus(Cursor & cur, FuncRequest const & cmd,
 }
 
 
+Inset::DisplayType InsetTabular::display() const
+{
+               if (tabular.is_long_tabular) {
+                       switch (tabular.longtabular_alignment) {
+                       case Tabular::LYX_LONGTABULAR_ALIGN_LEFT:
+                               return AlignLeft;
+                       case Tabular::LYX_LONGTABULAR_ALIGN_CENTER:
+                               return AlignCenter;
+                       case Tabular::LYX_LONGTABULAR_ALIGN_RIGHT:
+                               return AlignRight;
+                       }
+               } else
+                       return Inline;
+}
+
+
 int InsetTabular::latex(odocstream & os, OutputParams const & runparams) const
 {
        return tabular.latex(os, runparams);
@@ -4703,6 +4784,20 @@ void InsetTabular::tabularFeatures(Cursor & cur,
                tabular.tabular_valignment = Tabular::LYX_VALIGN_BOTTOM;
                break;
 
+       case Tabular::LONGTABULAR_ALIGN_LEFT:
+               tabular.longtabular_alignment = Tabular::LYX_LONGTABULAR_ALIGN_LEFT;
+               break;
+
+       case Tabular::LONGTABULAR_ALIGN_CENTER:
+               tabular.longtabular_alignment = Tabular::LYX_LONGTABULAR_ALIGN_CENTER;
+               break;
+
+       case Tabular::LONGTABULAR_ALIGN_RIGHT:
+               tabular.longtabular_alignment = Tabular::LYX_LONGTABULAR_ALIGN_RIGHT;
+               break;
+
+               
+
        case Tabular::SET_ROTATE_CELL:
                for (row_type i = sel_row_start; i <= sel_row_end; ++i)
                        for (col_type j = sel_col_start; j <= sel_col_end; ++j)
index e81cbc0e57e4db43c157026ebd25d5af0f823083..905fdcd98c66fece6f2d1b087a4cf30bd584e47c 100644 (file)
@@ -184,6 +184,12 @@ public:
                ///
                TABULAR_VALIGN_BOTTOM,
                ///
+               LONGTABULAR_ALIGN_LEFT,
+               ///
+               LONGTABULAR_ALIGN_CENTER,
+               ///
+               LONGTABULAR_ALIGN_RIGHT,
+               ///
                LAST_ACTION
        };
        ///
@@ -205,6 +211,15 @@ public:
                ///
                LYX_VALIGN_MIDDLE = 2
        };
+       ///
+       enum HAlignment {
+               ///
+               LYX_LONGTABULAR_ALIGN_LEFT = 0,
+               ///
+               LYX_LONGTABULAR_ALIGN_CENTER = 1,
+               ///
+               LYX_LONGTABULAR_ALIGN_RIGHT = 2
+       };
 
        enum BoxType {
                ///
@@ -569,6 +584,8 @@ public:
        VAlignment tabular_valignment;
        //
        // for long tabulars
+       ///
+       HAlignment longtabular_alignment;
        //
        bool is_long_tabular;
        /// endhead data
@@ -750,7 +767,7 @@ public:
            insets that may contain several paragraphs */
        bool noFontChange() const { return true; }
        ///
-       DisplayType display() const { return tabular.is_long_tabular ? AlignCenter : Inline; }
+       DisplayType display() const;
        ///
        int latex(odocstream &, OutputParams const &) const;
        ///