]> git.lyx.org Git - features.git/commitdiff
Add paragraph dialog to qt2 frontend. First commit, I am sure it can be done better...
authorEdwin Leuven <e.leuven@gmail.com>
Wed, 17 Jul 2002 15:51:23 +0000 (15:51 +0000)
committerEdwin Leuven <e.leuven@gmail.com>
Wed, 17 Jul 2002 15:51:23 +0000 (15:51 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4683 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/qt2/ChangeLog
src/frontends/qt2/Makefile.am
src/frontends/qt2/Makefile.dialogs
src/frontends/qt2/QLImage.C
src/frontends/qt2/QParagraph.C
src/frontends/qt2/QParagraph.h
src/frontends/qt2/QParagraphDialog.C
src/frontends/qt2/QParagraphDialog.h
src/frontends/qt2/guiapi.C
src/frontends/qt2/ui/QParagraphDialog.ui

index b7ebfc77d398f268f60e2cf230786fef812afb50..23c9106cbcd3671bce3b2037994e82d0fe0cb30a 100644 (file)
@@ -1,3 +1,12 @@
+2002-07-07  Edwin Leuven  <leuven@fee.uva.nl>
+
+       * QParagraph.[Ch]: Add paragraph dialog
+       * QParagraphDialog.[Ch]: 
+       * ui/QParagraphDialog.[Ch]: 
+       * Makefile.am:
+       * Makefile.dialogs:
+       * guiapi.C:
+
 2002-07-17  John Levon  <moz@compsoc.man.ac.uk>
 
        * QtView.C: basic statusbar show
index cf9ad768f56ba8d2fe488006dc9ca1a32b9da94b..0a33a817819f4c627869a11b0822d4eb11332854 100644 (file)
@@ -3,8 +3,7 @@ include $(top_srcdir)/config/common.am
 SUBDIRS = ui moc
 
 EXTRA_DIST = Makefile.dialogs QDocument.C QDocument.h \
-       QDocumentDialog.C QDocumentDialog.h QParagraph.h QParagraph.C \
-       QParagraphDialog.h QParagraphDialog.C
+       QDocumentDialog.C QDocumentDialog.h
 
 noinst_LTLIBRARIES = libqt2.la
 
index 2568f64ac62bdaf32309c47ddba20ac8dadd693a..b96c4719fcbaea28813655e5a18d97866358a2f9 100644 (file)
@@ -16,6 +16,7 @@ DIALOGS = \
        QIndex \
        QLog \
        QMinipage \
+       QParagraph \
        QPreamble \
        QPrint \
        QRef \
@@ -58,6 +59,8 @@ DIALOGSOURCES = \
        QLog.C QLogDialog.C \
        QMinipage.h QMinipageDialog.h \
        QMinipage.C QMinipageDialog.C \
+       QParagraph.h QParagraphDialog.h \
+       QParagraph.C QParagraphDialog.C \
        QPreamble.h QPreambleDialog.h \
        QPreamble.C QPreambleDialog.C \
        QPrint.h QPrintDialog.h \
@@ -98,6 +101,7 @@ MOCDIALOGS = \
        QIndexDialog_moc.C \
        QLogDialog_moc.C \
        QMinipageDialog_moc.C \
+       QParagraphDialog_moc.C \
        QPreambleDialog_moc.C \
        QPrintDialog_moc.C \
        QRefDialog_moc.C \
@@ -142,6 +146,8 @@ UIDIALOGS = \
        QLogDialogBase.C \
        QMinipageDialogBase.h \
        QMinipageDialogBase.C \
+       QParagraphDialogBase.h \
+       QParagraphDialogBase.C \
        QPreambleDialogBase.h \
        QPreambleDialogBase.C \
        QPrintDialogBase.h \
@@ -183,6 +189,7 @@ UIMOCDIALOGS = \
        QIndexDialogBase_moc.C \
        QLogDialogBase_moc.C \
        QMinipageDialogBase_moc.C \
+       QParagraphDialogBase_moc.C \
        QPreambleDialogBase_moc.C \
        QPrintDialogBase_moc.C \
        QRefDialogBase_moc.C \
index f8d9b2d8ee211499e2728484e517c85051e59f8e..0050d66af66502ccb25ac1bfc0a8adfe6ce061d9 100644 (file)
@@ -60,7 +60,7 @@ Image::FormatList QLImage::loadableFormats()
        QStrListIterator it(qt_formats);
 
        for (; it.current(); ++it) {
-               lyxerr[Debug::GRAPHICS] << it.current() << endl;
+          lyxerr[Debug::GRAPHICS] << it.current() << std::endl;
 
                string ext = lowercase(it.current());
         
index 0d47d49937e1775c9a0fad760a49eac8c7601812..b408d77dd0039afeb0608d8d08339025e31cf518 100644 (file)
 /**
  * \file QParagraph.C
- * Copyright 2001 LyX Team
- * see the file COPYING
+ * Copyright 2000-2001 The LyX Team.
+ * See the file COPYING.
  *
- * \author John Levon, moz@compsoc.man.ac.uk
+ * \author Edwin Leuven <leuven@fee.uva.nl>
  */
 
 #include <config.h>
 
-#include "QParagraphDialog.h"
+#ifdef __GNUG__
+#pragma implementation
+#endif
 
+#include "ControlParagraph.h"
 #include "QParagraph.h"
-#include "Liason.h"
-#include "gettext.h"
-#include "buffer.h"
-#include "QtLyXView.h"
-#include "lyxtextclasslist.h"
-#include "lyxtext.h"
-#include "debug.h"
-#include "BufferView.h"
+#include "QParagraphDialog.h"
+#include "Qt2BC.h"
 #include "ParagraphParameters.h"
-
-using SigC::slot;
-using Liason::setMinibuffer;
-using std::endl;
-
-
-QParagraph::QParagraph(LyXView *v, Dialogs *d)
-       : dialog_(0), lv_(v), d_(d), h_(0)
-{
-       d->showParagraph.connect(slot(this, &QParagraph::show));
-}
-
-
-QParagraph::~QParagraph()
+#include "lyxrc.h" // to set the deafult length values
+#include "gettext.h"
+#include "layout.h" // LyXAlignment
+#include "helper_funcs.h"
+#include "lyxgluelength.h"
+#include "vspace.h"
+
+#include "support/lstrings.h"
+#include "support/LAssert.h"
+
+#include <functional>
+
+#include <qcombobox.h>
+#include <qlineedit.h>
+#include <qcheckbox.h>
+#include <qpushbutton.h>
+#include <qtabwidget.h>
+#include <qbuttongroup.h>
+
+using std::vector;
+using std::bind2nd;
+using std::remove_if;
+
+typedef Qt2CB<ControlParagraph, Qt2DB<QParagraphDialog> > base_class;
+  
+QParagraph::QParagraph(ControlParagraph & c, Dialogs &)
+       : base_class(c, _("Paragraph Layout"))
+{}
+
+void QParagraph::build_dialog()
 {
-       delete dialog_;
+       // the tabbed folder
+       dialog_.reset(new QParagraphDialog(this));
+
+       // Create the contents of the unit choices
+       // Don't include the "%" terms...
+       units_ = getLatexUnits();
+       vector<string>::iterator del = remove_if(units_.begin(), units_.end(),
+                                                bind2nd(contains_functor(), "%"));
+       units_.erase(del, units_.end());
+       
+       for (vector<string>::const_iterator it = units_.begin();
+               it != units_.end(); ++it) {
+               dialog_->unitAbove->insertItem(it->c_str());
+               dialog_->unitBelow->insertItem(it->c_str());
+       }
+       
+       // Manage the ok, apply, restore and cancel/close buttons
+       bc().setOK(dialog_->okPB);
+       bc().setApply(dialog_->applyPB);
+       bc().setCancel(dialog_->closePB);
+       bc().setRestore(dialog_->restorePB);
+       bc().addReadOnly(dialog_->paragraphTab);
 }
 
+namespace {
 
-void QParagraph::update(bool switched)
+VSpace setVSpaceFromWidgets(int spacing,
+                           string value,
+                           string unit,
+                           bool keep)
 {
-       if (switched) {
-               hide();
-               return;
-       }
-
-       if (!lv_->view()->available())
-               return;
-
-       Buffer * buf = lv_->view()->buffer();
-
-       if (readonly!=buf->isReadonly()) {
-               readonly = buf->isReadonly();
-               dialog_->setReadOnly(readonly);
-       }
-
-       LyXText * text(lv_->view()->getLyXText());
-       Paragraph * par = text->cursor.par();
-
-       int align = par->getAlign();
-
-       if (align==LYX_ALIGN_LAYOUT)
-               align = textclasslist.Style(buf->params.textclass, par->getLayout()).align;
-
-       ParagraphParameters * params = &(par->params());
-
-       if (params->spaceTop().kind() == VSpace::LENGTH) {
-               LyXGlueLength above = params->spaceTop().length();
-               lyxerr[Debug::GUI] << "Reading above space : \"" << params->spaceTop().length().asString() << "\"" << endl;
-               dialog_->setAboveLength(above.len().value(), above.plus().value(), above.minus().value(),
-                       above.len().unit(), above.plus().unit(), above.minus().unit());
-       } else
-               dialog_->setAboveLength(0.0, 0.0, 0.0, LyXLength::UNIT_NONE, LyXLength::UNIT_NONE, LyXLength::UNIT_NONE);
-
-       if (params->spaceBottom().kind() == VSpace::LENGTH) {
-               LyXGlueLength below = params->spaceBottom().length();
-               lyxerr[Debug::GUI] << "Reading below space : \"" << params->spaceBottom().length().asString() << "\"" << endl;
-               dialog_->setBelowLength(below.len().value(), below.plus().value(), below.minus().value(),
-                       below.len().unit(), below.plus().unit(), below.minus().unit());
-       } else
-               dialog_->setBelowLength(0.0, 0.0, 0.0, LyXLength::UNIT_NONE, LyXLength::UNIT_NONE, LyXLength::UNIT_NONE);
-
-       dialog_->setLabelWidth(text->cursor.par()->getLabelWidthString().c_str());
-       dialog_->setAlign(align);
-       dialog_->setChecks(params->lineTop(), params->lineBottom(),
-               params->pagebreakTop(), params->pagebreakBottom(), params->noindent());
-       dialog_->setSpace(params->spaceTop().kind(), params->spaceBottom().kind(),
-               params->spaceTop().keep(), params->spaceBottom().keep());
-
-       // now the extras page
-
-       LyXLength extrawidth;
-       float val = 0.0;
-       LyXLength::UNIT unit = LyXLength::CM;
-       params = &(par->params());
-       if (isValidLength(params->pextraWidth(), &extrawidth)) {
-               lyxerr[Debug::GUI] << "Reading extra width \"" << extrawidth.asString() << "\"" << endl;
-               val = extrawidth.value();
-               unit = extrawidth.unit();
+       VSpace space;
+
+       switch (spacing) {
+       case 0:
+               space = VSpace(VSpace::NONE);
+               break;
+       case 1:
+               space = VSpace(VSpace::DEFSKIP);
+               break;
+       case 2:
+               space = VSpace(VSpace::SMALLSKIP);
+               break;
+       case 3:
+               space = VSpace(VSpace::MEDSKIP);
+               break;
+       case 4:
+               space = VSpace(VSpace::BIGSKIP);
+               break;
+       case 5:
+               space = VSpace(VSpace::VFILL);
+               break;
+       case 6:
+               string s;
+               string const length = strip(frontStrip(value));
+               if (isValidGlueLength(length)) {
+                       s = length;
+               } else if (!length.empty()){
+                       string u = strip(frontStrip(unit));
+                       u = subst(u, "%%", "%");
+                       s = length + u;
+               }
+               space = VSpace(LyXGlueLength(s));
+               break;
        }
 
-       lyxerr[Debug::GUI] << "Reading widthp \"" << params->pextraWidthp() << "\"" << endl;
+       space.setKeep(keep);
 
-       dialog_->setExtra(val, unit, params->pextraWidthp(),
-               params->pextraAlignment(),
-               params->pextraHfill(),
-               params->pextraStartMinipage(),
-               static_cast<Paragraph::PEXTRA_TYPE>(params->pextraType()));
+       return space;
 }
 
+} // namespace anon
 
 void QParagraph::apply()
 {
-       if (readonly)
-               return;
-
-       VSpace spaceabove;
-       VSpace spacebelow;
-
-       if (dialog_->getSpaceAboveKind()==VSpace::LENGTH)
-               spaceabove = VSpace(dialog_->getAboveLength());
-       else
-               spaceabove = VSpace(dialog_->getSpaceAboveKind());
-
-       if (dialog_->getSpaceBelowKind()==VSpace::LENGTH)
-               spacebelow = VSpace(dialog_->getBelowLength());
-       else
-               spacebelow = VSpace(dialog_->getSpaceBelowKind());
-
-       spaceabove.setKeep(dialog_->getAboveKeep());
-       spacebelow.setKeep(dialog_->getBelowKeep());
-
-       lyxerr[Debug::GUI] << "Setting above space \"" << LyXGlueLength(spaceabove.length().asString()).asString() << "\"" << endl;
-       lyxerr[Debug::GUI] << "Setting below space \"" << LyXGlueLength(spacebelow.length().asString()).asString() << "\"" << endl;
-
-       LyXText * text(lv_->view()->getLyXText());
-       text->setParagraph(lv_->view(),
-                          dialog_->getLineAbove(), dialog_->getLineBelow(),
-                          dialog_->getPagebreakAbove(), dialog_->getPagebreakBelow(),
-                          spaceabove, spacebelow, Spacing(), dialog_->getAlign(),
-                          dialog_->getLabelWidth(), dialog_->getNoIndent());
-
-       // extra stuff
-
-       string width("");
-       string widthp("");
-
-       LyXLength extrawidth(dialog_->getExtraWidth());
-       if (extrawidth.unit()==LyXLength::UNIT_NONE) {
-               widthp = dialog_->getExtraWidthPercent();
-       } else
-               width = extrawidth.asString();
-
-       lyxerr[Debug::GUI] << "Setting extrawidth \"" << width << "\"" << endl;
-       lyxerr[Debug::GUI] << "Setting percent extrawidth \"" << widthp << "\"" << endl;
+       /* SPACING ABOVE */
+       // If a vspace kind is "Length" but there's no text in
+       // the input field, reset the kind to "None".
+       if (dialog_->spacingAbove->currentItem()==5
+           && dialog_->valueAbove->text().isEmpty()) 
+               dialog_->spacingAbove->setCurrentItem(0);
+       
+       VSpace const space_top =
+               setVSpaceFromWidgets(dialog_->spacingAbove->currentItem(),
+                                    string(dialog_->valueAbove->text()),
+                                    string(dialog_->unitAbove->currentText()),
+                                    dialog_->keepAbove->isChecked());
+
+       
+       controller().params().spaceTop(space_top);
+
+       /* SPACING BELOW */
+       if (dialog_->spacingBelow->currentItem()==5
+           && dialog_->valueBelow->text().isEmpty()) 
+               dialog_->spacingBelow->setCurrentItem(0);
+
+       VSpace const space_bottom =
+       setVSpaceFromWidgets(dialog_->spacingBelow->currentItem(),
+                            string(dialog_->valueBelow->text()),
+                            string(dialog_->unitBelow->currentText()),
+                            dialog_->keepBelow->isChecked());
+       
+       controller().params().spaceBottom(space_bottom);
+
+       /* alignment */
+       LyXAlignment align;
+       switch (dialog_->align->currentItem()) {
+       case 0:
+               align = LYX_ALIGN_BLOCK;
+               break;
+       case 1:
+               align = LYX_ALIGN_LEFT;
+               break;
+       case 2:
+               align = LYX_ALIGN_RIGHT;
+               break;
+       case 3:
+               align = LYX_ALIGN_CENTER;
+               break;
+       default:
+               align = LYX_ALIGN_BLOCK;
+       }
+       controller().params().align(align);
+       
+       /* get spacing */
+       Spacing::Space linespacing = Spacing::Default;
+       string other;
+       switch (dialog_->linespacing->currentItem()) {
+       case 0:
+               linespacing = Spacing::Default;
+               break;
+       case 1:
+               linespacing = Spacing::Single;
+               break;
+       case 2:
+               linespacing = Spacing::Onehalf;
+               break;
+       case 3:
+               linespacing = Spacing::Double;
+               break;
+       case 4:
+               linespacing = Spacing::Other;
+               other = dialog_->linespacingValue->text();
+               break;
+       }
 
-       lv_->view()->update(text,
-                           BufferView::SELECT |
-                           BufferView::FITCUR |
-                           BufferView::CHANGE);
+       Spacing const spacing(linespacing, other);
+       controller().params().spacing(spacing);
+       
+       /* lines and pagebreaks */
+       controller().params().lineTop(dialog_->lineAbove->isChecked());
+       controller().params().lineBottom(dialog_->lineBelow->isChecked());
+       controller().params().pagebreakTop(dialog_->pagebreakAbove->isChecked());
+       controller().params().pagebreakBottom(dialog_->pagebreakBelow->isChecked());
+       /* label width */
+       controller().params().labelWidthString(string(dialog_->labelWidth->text()));
+       /* indendation */
+       controller().params().noindent(dialog_->noindent->isChecked());
 
-       lv_->buffer()->markDirty();
-       setMinibuffer(lv_, _("Paragraph layout set"));
 }
 
+namespace {
 
-void QParagraph::show()
+void setWidgetsFromVSpace(VSpace const & space,
+                         QComboBox * spacing,
+                         QLineEdit * value,
+                         QComboBox * unit,
+                         QCheckBox * keep, vector<string> units_)
 {
-       if (!dialog_)
-               dialog_ = new QParagraphDialog(this, 0,
-                                              _("LyX: Paragraph Settings"),
-                                              false);
+       value->setText("");
+       value->setEnabled(false);
+       unit->setEnabled(false);
+
+       int item;
+       switch (space.kind()) {
+       case VSpace::NONE:
+               item = 0;
+               break;
+       case VSpace::DEFSKIP:
+               item = 1;
+               break;
+       case VSpace::SMALLSKIP:
+               item = 2;
+               break;
+       case VSpace::MEDSKIP:
+               item = 3;
+               break;
+       case VSpace::BIGSKIP:
+               item = 4;
+               break;
+       case VSpace::VFILL:
+               item = 5;
+               break;
+       case VSpace::LENGTH: 
+               item = 6;
+               value->setEnabled(true);
+               unit->setEnabled(true);
+               string length = space.length().asString();
+               string const default_unit = (lyxrc.default_papersize>3) ? "cm" : "in";
+               string supplied_unit = default_unit;
+               LyXLength len(length);
+               if ((isValidLength(length) || isStrDbl(length)) && !len.zero()) {
+                       ostringstream buffer;
+                       buffer << len.value();
+                       length = buffer.str();
+                       supplied_unit = subst(stringFromUnit(len.unit()),"%","%%");
+               }
+               int unit_item = 0;
+               int i = 0;
+               for (vector<string>::const_iterator it = units_.begin();
+                    it != units_.end(); ++it) {
+                       if (*it==default_unit) {
+                               unit_item = i;
+                       }
+                       if (*it==supplied_unit) {
+                               unit_item = i;
+                               break;
+                       }
+                       i += 1;
+               }
+               value->setText(length.c_str());
+               unit->setCurrentItem(unit_item);
+               break;
+       }
+       spacing->setCurrentItem(item);
+       keep->setChecked(space.keep());
+}
 
-       if (!dialog_->isVisible())
-               h_ = d_->hideBufferDependent
-                       .connect(slot(this, &QParagraph::hide));
+} // namespace anon
 
-       dialog_->raise();
-       dialog_->setActiveWindow();
-       update();
+void QParagraph::update_contents()
+{
+       /* label width */
+       string labelwidth = controller().params().labelWidthString();
+       dialog_->labelWidth->setText(labelwidth.c_str());
+       dialog_->labelwidthGB->setEnabled(
+               labelwidth != _("Senseless with this layout!"));
+
+       /* alignment */
+       int i;
+       switch (controller().params().align()) {
+       case LYX_ALIGN_LEFT:
+               i = 1;
+               break;
+       case LYX_ALIGN_RIGHT:
+               i = 2;
+               break;
+       case LYX_ALIGN_CENTER:
+               i = 3;
+               break;
+       default:
+               i = 0;
+               break;
+       }
+       dialog_->align->setCurrentItem(i);
+       
+
+       //LyXAlignment alignpos = controller().alignPossible();
+
+       // no inset-text-owned paragraph may have pagebreaks
+       bool ininset = controller().inInset();
+       dialog_->pagebreakAbove->setEnabled(!ininset);
+       dialog_->pagebreakBelow->setEnabled(!ininset);
+
+       /* lines, pagebreaks and indent */
+       dialog_->lineAbove->setChecked(controller().params().lineTop());
+       dialog_->lineBelow->setChecked(controller().params().lineBottom());
+       dialog_->pagebreakAbove->setChecked(controller().params().pagebreakTop());
+       dialog_->pagebreakBelow->setChecked(controller().params().pagebreakBottom());
+       dialog_->noindent->setChecked(controller().params().noindent());
+
+       /* linespacing */
+       int linespacing;
+       Spacing const space = controller().params().spacing();
+       switch (space.getSpace()) {
+       case Spacing::Single:
+               linespacing = 1;
+               break;
+       case Spacing::Onehalf:
+               linespacing = 2;
+               break;
+       case Spacing::Double:
+               linespacing = 3;
+               break;
+       case Spacing::Other:
+               linespacing = 4;
+               break;
+       default:
+               linespacing = 0;
+               break;
+       }
+       dialog_->linespacing->setCurrentItem(linespacing);
+       if (space.getSpace() == Spacing::Other) {
+               string const sp = tostr(space.getValue());
+               dialog_->linespacingValue->setText(sp.c_str());
+               dialog_->linespacingValue->setEnabled(true);
+       } else {
+               dialog_->linespacingValue->setText("");
+               dialog_->linespacingValue->setEnabled(false);
+       }
 
-       dialog_->show();
+       /* vspace top */
+       setWidgetsFromVSpace(controller().params().spaceTop(),
+                            dialog_->spacingAbove,
+                            dialog_->valueAbove,
+                            dialog_->unitAbove,
+                            dialog_->keepAbove,units_);
+
+       /* vspace bottom */
+       setWidgetsFromVSpace(controller().params().spaceBottom(),
+                            dialog_->spacingBelow,
+                            dialog_->valueBelow,
+                            dialog_->unitBelow,
+                            dialog_->keepBelow,units_);
+
+       /* no indent */
+       dialog_->noindent->setChecked(controller().params().noindent());
 }
 
 
-void QParagraph::close()
-{
-       h_.disconnect();
-}
 
 
-void QParagraph::hide()
-{
-       dialog_->hide();
-       close();
-}
index 90ce3989d8aecb333c2df91908b43d560fe7a7d5..f51218c7e1fe5d49fc88836a40e53b13f21a9e51 100644 (file)
@@ -4,52 +4,37 @@
  * Copyright 2001 LyX Team
  * see the file COPYING
  *
- * \author John Levon, moz@compsoc.man.ac.uk
+ * \author Edwin Leuven <leuven@fee.uva.nl>
+ * \author John Levon <moz@compsoc.man.ac.uk>
  */
 
 #ifndef QPARAGRAPH_H
 #define QPARAGRAPH_H
 
-#include "DialogBase.h"
-#include "LString.h"
-#include "boost/utility.hpp"
+#include <config.h>
+#include "Qt2Base.h"
 
-class Dialogs;
-class LyXView;
+class ControlParagraph;
 class QParagraphDialog;
+class Dialogs;
 
-class QParagraph : public DialogBase {
-public:
-       QParagraph(LyXView *, Dialogs *);
-       ~QParagraph();
+class QParagraph :
+       public Qt2CB<ControlParagraph, Qt2DB<QParagraphDialog> >
+{
+       friend class QParagraphDialog;
 
-       /// Apply changes
-       void apply();
-       /// Update the dialog.
-       void update(bool switched = false);
-       /// Close the connections
-       void close();
+public:
+       QParagraph(ControlParagraph &, Dialogs &);
 
 private:
-       /// Create the dialog if necessary, update it and display it.
-       void show();
-       /// Hide the dialog.
-       void hide();
-
-       /// Real GUI implementation.
-       QParagraphDialog * dialog_;
-
-       /// the LyXView we belong to
-       LyXView * lv_;
-
-       /// Used so we can get at the signals we have to connect to.
-       Dialogs * d_;
-
-       /// Hide connection.
-       SigC::Connection h_;
-
-       /// readonly file or not
-       bool readonly;
+       /// Apply changes
+       virtual void apply();
+       /// update
+       virtual void update_contents();
+       /// build the dialog
+       virtual void build_dialog();
+       
+       std::vector<string> units_;
 };
 
 #endif // QPARAGRAPH_H
index 2a6d327bf1d80a4773d9cc028c994445a5ccb72f..7cfaaa77032ff4dfcc7bc3783970337cf8d15559 100644 (file)
  * \author Edwin Leuven, leuven@fee.uva.nl
  */
 
-#include <config.h>
-#include <gettext.h>
-#include <string>
-
 #include "QParagraphDialog.h"
-#include "QParagraph.h"
-#include "support/lstrings.h"
-#include "debug.h"
 
 #include <qlineedit.h>
 #include <qcombobox.h>
-#include <qcheckbox.h>
 #include <qpushbutton.h>
-#include <qtabwidget.h>
-#include <qlabel.h>
-#include <qgroupbox.h>
-
-using std::endl;
-
-QParagraphDialog::QParagraphDialog(QParagraph * form, QWidget * parent,
-                                  char const * name, bool modal, WFlags fl)
-       : QParagraphDialogBase(parent, name, modal, fl),
-         form_(form)
-{
-       setCaption(name);
-}
-
-
-QParagraphDialog::~QParagraphDialog()
-{
-}
-
-
-void QParagraphDialog::setReadOnly(bool readonly)
-{
-       TabsParagraph->setEnabled(!readonly);
-       okPB->setEnabled(!readonly);
-       applyPB->setEnabled(!readonly);
-       defaultsPB->setEnabled(!readonly);
-       cancelPB->setText(readonly ? _("&Close") : _("&Cancel"));
-}
-
-
-void QParagraphDialog::setLabelWidth(char const * text)
-{
-       // FIXME: should be cleverer here
-       if (!strcmp(_("Senseless with this layout!"),text)) {
-               listOptions->setEnabled(false);
-               labelWidth->setText("");
-       } else {
-               listOptions->setEnabled(true);
-               labelWidth->setText(text);
-       }
-}
-
-
-void QParagraphDialog::setAlign(int type)
-{
-       int item = 0;
-       switch (type) {
-               case LYX_ALIGN_BLOCK: item = 0; break;
-               case LYX_ALIGN_LEFT: item = 1; break;
-               case LYX_ALIGN_RIGHT: item = 2; break;
-               case LYX_ALIGN_CENTER: item = 3; break;
-               default:
-                       item = 0;
-                       break;
-       }
-       alignment->setCurrentItem(item);
-}
-
-
-void QParagraphDialog::setChecks(bool labove, bool lbelow, bool pabove,
-                                bool pbelow, bool noindent)
-{
-       lineAbove->setChecked(labove);
-       lineBelow->setChecked(lbelow);
-       pagebreakAbove->setChecked(pabove);
-       pagebreakBelow->setChecked(pbelow);
-       noIndent->setChecked(noindent);
-}
-
-
-void QParagraphDialog::setSpace(VSpace::vspace_kind kindabove,
-                               VSpace::vspace_kind kindbelow,
-                               bool keepabove, bool keepbelow)
-{
-       int item = 0;
-
-       switch (kindabove) {
-               case VSpace::NONE: item = 0; break;
-               case VSpace::DEFSKIP: item = 1; break;
-               case VSpace::SMALLSKIP: item = 2; break;
-               case VSpace::MEDSKIP: item = 3; break;
-               case VSpace::BIGSKIP: item = 4; break;
-               case VSpace::VFILL: item = 5; break;
-               case VSpace::LENGTH: item = 6; break;
-       }
-       spacingAbove->setCurrentItem(item);
-
-       switch (kindbelow) {
-               case VSpace::NONE: item = 0; break;
-               case VSpace::DEFSKIP: item = 1; break;
-               case VSpace::SMALLSKIP: item = 2; break;
-               case VSpace::MEDSKIP: item = 3; break;
-               case VSpace::BIGSKIP: item = 4; break;
-               case VSpace::VFILL: item = 5; break;
-               case VSpace::LENGTH: item = 6; break;
-       }
-       spacingBelow->setCurrentItem(item);
-
-       spacingAboveValue->setEnabled(kindabove == VSpace::LENGTH);
-       spacingAbovePlus->setEnabled(kindabove == VSpace::LENGTH);
-       spacingAboveMinus->setEnabled(kindabove == VSpace::LENGTH);
-       spacingBelowValue->setEnabled(kindbelow == VSpace::LENGTH);
-       spacingBelowPlus->setEnabled(kindbelow == VSpace::LENGTH);
-       spacingBelowMinus->setEnabled(kindbelow == VSpace::LENGTH);
-
-       spacingAboveKeep->setChecked(keepabove);
-       spacingBelowKeep->setChecked(keepbelow);
-}
-
-
-void QParagraphDialog::setAboveLength(float val, float plus, float minus,
-                                     LyXLength::UNIT vunit,
-                                     LyXLength::UNIT punit,
-                                     LyXLength::UNIT munit)
-{
-       if (vunit == LyXLength::UNIT_NONE) {
-               spacingAboveValue->setText("");
-               spacingAbovePlus->setText("");
-               spacingAboveMinus->setText("");
-       } else {
-               spacingAboveValue->setText(tostr(val).c_str());
-               spacingAbovePlus->setText(tostr(plus).c_str());
-               spacingAboveMinus->setText(tostr(minus).c_str());
-       }
-
-       spacingAboveValueUnit->setCurrentItem(getItem(vunit));
-       spacingAbovePlusUnit->setCurrentItem(getItem(punit));
-       spacingAboveMinusUnit->setCurrentItem(getItem(munit));
-
-}
-
-
-void QParagraphDialog::setBelowLength(float val, float plus, float minus,
-                                     LyXLength::UNIT vunit,
-                                     LyXLength::UNIT punit,
-                                     LyXLength::UNIT munit)
-{
-       if (vunit == LyXLength::UNIT_NONE) {
-               spacingBelowValue->setText("");
-               spacingBelowPlus->setText("");
-               spacingBelowMinus->setText("");
-       } else {
-               spacingBelowValue->setText(tostr(val).c_str());
-               spacingBelowPlus->setText(tostr(plus).c_str());
-               spacingBelowMinus->setText(tostr(minus).c_str());
-       }
-
-       spacingBelowValueUnit->setCurrentItem(getItem(vunit));
-       spacingBelowPlusUnit->setCurrentItem(getItem(punit));
-       spacingBelowMinusUnit->setCurrentItem(getItem(munit));
-}
-
-
-void QParagraphDialog::setExtra(float widthval, LyXLength::UNIT units,
-                               string const & percent, int align,
-                               bool hfill, bool startminipage,
-                               Paragraph::PEXTRA_TYPE type)
-{
-       if (type != Paragraph::PEXTRA_NONE) {
-               lyxerr[Debug::GUI] << "percent : $" << percent << "$ widthval "
-                                  << widthval << " unit " << long(units)
-                                  << endl;
-               if (percent != "") {
-                       extraWidth->setText(percent.c_str());
-                       extraUnit->setCurrentItem(11);
-               } else {
-                       extraWidth->setText(tostr(widthval).c_str());
-                       extraUnit->setCurrentItem(getItem(units));
-               }
-       } else
-               extraWidth->setText("");
-
-       switch (type) {
-               case Paragraph::PEXTRA_NONE:
-                       extraType->setCurrentItem(0);
-                       break;
-               case Paragraph::PEXTRA_MINIPAGE:
-                       extraType->setCurrentItem(1);
-                       enable_extraOptions(1);
-                       enable_minipageOptions(1);
-                       break;
-               case Paragraph::PEXTRA_FLOATFLT:
-                       extraType->setCurrentItem(2);
-                       enable_extraOptions(2);
-                       break;
-               case Paragraph::PEXTRA_INDENT:
-                       extraType->setCurrentItem(3);
-                       enable_extraOptions(3);
-                       break;
-       }
-
-       switch (align) {
-               case Paragraph::MINIPAGE_ALIGN_TOP:
-                       minipageValign->setCurrentItem(0);
-                       break;
-               case Paragraph::MINIPAGE_ALIGN_MIDDLE:
-                       minipageValign->setCurrentItem(1);
-                       break;
-               case Paragraph::MINIPAGE_ALIGN_BOTTOM:
-                       minipageValign->setCurrentItem(2);
-                       break;
-       }
-
-       minipageHfill->setChecked(hfill);
-       minipageStart->setChecked(startminipage);
-}
-
-
-LyXGlueLength QParagraphDialog::getAboveLength() const
-{
-       LyXGlueLength len(
-               LyXLength(spacingAboveValue->text().toFloat(),
-               getLyXLength(spacingAboveValueUnit->currentItem())),
-               LyXLength(spacingAbovePlus->text().toFloat(),
-               getLyXLength(spacingAbovePlusUnit->currentItem())),
-               LyXLength(spacingAboveMinus->text().toFloat(),
-               getLyXLength(spacingAboveMinusUnit->currentItem()))
-               );
-       return len;
-}
-
-
-LyXGlueLength QParagraphDialog::getBelowLength() const
-{
-       LyXGlueLength len(
-               LyXLength(spacingBelowValue->text().toFloat(),
-               getLyXLength(spacingBelowValueUnit->currentItem())),
-               LyXLength(spacingBelowPlus->text().toFloat(),
-               getLyXLength(spacingBelowPlusUnit->currentItem())),
-               LyXLength(spacingBelowMinus->text().toFloat(),
-               getLyXLength(spacingBelowMinusUnit->currentItem()))
-               );
-       return len;
-}
-
-
-LyXLength QParagraphDialog::getExtraWidth() const
-{
-       if (extraUnit->currentItem() != 11) {
-               LyXLength len(
-                        (extraWidth->text()).toDouble(),
-                        getLyXLength(extraUnit->currentItem())
-                        );
-               return len;
-       } else {
-               LyXLength len(0.0, LyXLength::UNIT_NONE);
-               return len;
-       }
-}
-
-
-string QParagraphDialog::getExtraWidthPercent() const
-{
-       double val = (extraWidth->text()).toDouble();
-       if (val > 100.0)
-               val = 100.0;
-       if (val < 0.0)
-               val = 0.0;
-       return tostr(val);
-}
-
-
-char const * QParagraphDialog::getLabelWidth() const
-{
-       return labelWidth->text();
-}
-
-
-LyXAlignment QParagraphDialog::getAlign() const
-{
-       switch (alignment->currentItem()) {
-               case 0: return LYX_ALIGN_BLOCK;
-               case 1: return LYX_ALIGN_LEFT;
-               case 2: return LYX_ALIGN_RIGHT;
-               case 3: return LYX_ALIGN_CENTER;
-               default: return LYX_ALIGN_CENTER;
-       }
-}
-
-
-bool QParagraphDialog::getAboveKeep() const
-{
-       return spacingAboveKeep->isChecked();
-}
-
-
-bool QParagraphDialog::getBelowKeep() const
-{
-       return spacingBelowKeep->isChecked();
-}
-
-
-bool QParagraphDialog::getLineAbove() const
-{
-       return lineAbove->isChecked();
-}
+#include <qvalidator.h>
 
+#include "helper_funcs.h"
 
-bool QParagraphDialog::getLineBelow() const
-{
-       return lineBelow->isChecked();
-}
-
-
-bool QParagraphDialog::getPagebreakAbove() const
-{
-       return pagebreakAbove->isChecked();
-}
-
+using std::vector;
 
-bool QParagraphDialog::getPagebreakBelow() const
+QParagraphDialog::QParagraphDialog(QParagraph * form)
+       : QParagraphDialogBase(0, 0, false, 0),
+       form_(form)
 {
-       return pagebreakBelow->isChecked();
-}
+       connect(okPB, SIGNAL(clicked()),
+               form_, SLOT(slotOK()));
+       connect(applyPB, SIGNAL(clicked()),
+               form_, SLOT(slotApply()));
+       connect(closePB, SIGNAL(clicked()),
+               form_, SLOT(slotClose()));
+       
 
-
-bool QParagraphDialog::getNoIndent() const
-{
-       return noIndent->isChecked();
+       linespacingValue->setValidator(new QDoubleValidator(linespacingValue));
+       valueAbove->setValidator(new QDoubleValidator(valueAbove));
+       valueBelow->setValidator(new QDoubleValidator(valueBelow));
 }
 
-
-VSpace::vspace_kind QParagraphDialog::getSpaceAboveKind() const
-{
-       return getSpaceKind(spacingAbove->currentItem());
-}
-
-
-VSpace::vspace_kind QParagraphDialog::getSpaceBelowKind() const
-{
-       return getSpaceKind(spacingBelow->currentItem());
-}
-
-
-Paragraph::PEXTRA_TYPE QParagraphDialog::getExtraType() const
-{
-       switch (extraType->currentItem()) {
-               case 0: return Paragraph::PEXTRA_NONE;
-               case 1: return Paragraph::PEXTRA_MINIPAGE;
-               case 2: return Paragraph::PEXTRA_FLOATFLT;
-               case 3: return Paragraph::PEXTRA_INDENT;
-       }
-       return Paragraph::PEXTRA_NONE;
-}
-
-
-Paragraph::MINIPAGE_ALIGNMENT QParagraphDialog::getExtraAlign() const
-{
-       switch (minipageValign->currentItem()) {
-               case 0: return Paragraph::MINIPAGE_ALIGN_TOP;
-               case 1: return Paragraph::MINIPAGE_ALIGN_MIDDLE;
-               case 2: return Paragraph::MINIPAGE_ALIGN_BOTTOM;
-               default: return Paragraph::MINIPAGE_ALIGN_BOTTOM;
-       }
-}
-
-
-bool QParagraphDialog::getHfillBetween() const
-{
-       return minipageHfill->isChecked();
-}
-
-
-bool QParagraphDialog::getStartNewMinipage() const
-{
-       return minipageStart->isChecked();
-}
-
-
-VSpace::vspace_kind QParagraphDialog::getSpaceKind(int val) const
-{
-       switch (val) {
-               case 0: return VSpace::NONE;
-               case 1: return VSpace::DEFSKIP;
-               case 2: return VSpace::SMALLSKIP;
-               case 3: return VSpace::MEDSKIP;
-               case 4: return VSpace::BIGSKIP;
-               case 5: return VSpace::VFILL;
-               case 6: return VSpace::LENGTH;
-               default:
-                       lyxerr[Debug::GUI] << "Unknown kind combo entry "
-                                          << val << std::endl;
-               }
-       return VSpace::NONE;
-}
-
-
-LyXLength::UNIT QParagraphDialog::getLyXLength(int val) const
-{
-       switch (val) {
-               case 0: return LyXLength::CM;
-               case 1: return LyXLength::IN;
-               case 2: return LyXLength::PT;
-               case 3: return LyXLength::MM;
-               case 4: return LyXLength::PC;
-               case 5: return LyXLength::EX;
-               case 6: return LyXLength::EM;
-               case 7: return LyXLength::SP;
-               case 8: return LyXLength::BP;
-               case 9: return LyXLength::DD;
-               case 10: return LyXLength::CC;
-               default:
-                       lyxerr[Debug::GUI] << "Unknown kind combo entry "
-                                          << val << std::endl;
-       }
-       return LyXLength::UNIT_NONE;
-}
-
-
-int QParagraphDialog::getItem(LyXLength::UNIT unit) const
-{
-       int item = 0;
-       switch (unit) {
-               case LyXLength::CM: item = 0; break;
-               case LyXLength::IN: item = 1; break;
-               case LyXLength::PT: item = 2; break;
-               case LyXLength::MM: item = 3; break;
-               case LyXLength::PC: item = 4; break;
-               case LyXLength::EX: item = 5; break;
-               case LyXLength::EM: item = 6; break;
-               case LyXLength::SP: item = 7; break;
-               case LyXLength::BP: item = 8; break;
-               case LyXLength::DD: item = 9; break;
-               case LyXLength::CC: item = 10; break;
-               case LyXLength::MU: item = 0; break;
-               case LyXLength::UNIT_NONE: item = 0; break;
-               default:
-                       lyxerr[Debug::GUI] << "Unknown unit " << long(unit)
-                                          << endl;
-       }
-       return item;
-}
-
-
-void QParagraphDialog::enable_extraOptions(int item)
-{
-       bool const enable = (item != 0);
-       extraWidth->setEnabled(enable);
-       extraWidthL->setEnabled(enable);
-       extraUnit->setEnabled(enable);
-       extraUnitL->setEnabled(enable);
-}
-
-
-void QParagraphDialog::enable_minipageOptions(int item)
+void QParagraphDialog::closeEvent(QCloseEvent * e)
 {
-       minipageOptions->setEnabled( item == 1 );
+       form_->slotWMHide();
+       e->accept();
 }
 
 
-void QParagraphDialog::enable_spacingAbove(int item)
+void QParagraphDialog::change_adaptor()
 {
-       bool const enable = (item == 6);
-       spacingAboveValue->setEnabled(enable);
-       spacingAbovePlus->setEnabled(enable);
-       spacingAboveMinus->setEnabled(enable);
-       spacingAboveValueUnit->setEnabled(enable);
-       spacingAbovePlusUnit->setEnabled(enable);
-       spacingAboveMinusUnit->setEnabled(enable);
-       spacingAboveUnitsL->setEnabled(enable);
-       bool const enablel = ( (item == 6) || (item != 6 && spacingBelow->currentItem() == 6) );
-       spacingValueL->setEnabled(enablel);
-       spacingPlusL->setEnabled(enablel);
-       spacingMinusL->setEnabled(enablel);
+       form_->changed();
 }
 
-
-void QParagraphDialog::enable_spacingBelow(int item)
+void QParagraphDialog::enableAbove(int)
 {
-       bool const enable = (item == 6);
-       spacingBelowValue->setEnabled(enable);
-       spacingBelowPlus->setEnabled(enable);
-       spacingBelowMinus->setEnabled(enable);
-       spacingBelowValueUnit->setEnabled(enable);
-       spacingBelowPlusUnit->setEnabled(enable);
-       spacingBelowMinusUnit->setEnabled(enable);
-       spacingBelowUnitsL->setEnabled(enable);
-       bool const enablel = ( (item == 6) || (item!=6 && spacingAbove->currentItem() == 6) );
-       spacingValueL->setEnabled(enablel);
-       spacingPlusL->setEnabled(enablel);
-       spacingMinusL->setEnabled(enablel);
+       bool const enable = spacingAbove->currentItem()==6;
+       valueAbove->setEnabled(enable);
+       unitAbove->setEnabled(enable);
+       
 }
 
-
-void QParagraphDialog::closeEvent(QCloseEvent * e)
+void QParagraphDialog::enableBelow(int)
 {
-       form_->close();
-       e->accept();
+       bool const enable = spacingBelow->currentItem()==6;
+       valueBelow->setEnabled(enable);
+       unitBelow->setEnabled(enable);
 }
 
-
-void QParagraphDialog::apply_adaptor()
+void QParagraphDialog::enableLinespacingValue(int)
 {
-       form_->apply();
+       bool const enable = linespacing->currentItem()==4;
+       linespacingValue->setEnabled(enable);
 }
 
 
-void QParagraphDialog::cancel_adaptor()
-{
-       form_->close();
-       hide();
-}
-
 
-void QParagraphDialog::ok_adaptor()
-{
-       apply_adaptor();
-       form_->close();
-       hide();
-}
-
-
-void QParagraphDialog::restore_adaptor()
-{
-       form_->update();
-}
index 9d391d506831df92e05c2a827b67114bec9d4f7f..e972b8d269fb69a581adcf50bcc41757f9bc7fad 100644 (file)
 
 #include <config.h>
 
+#include "QParagraph.h"
 #include "ui/QParagraphDialogBase.h"
-#include "vspace.h"
-#include "paragraph.h"
-#include "layout.h"
-#include "lyxgluelength.h"
 
-
-class QParagraph;
+#include <qevent.h>
 
 class QParagraphDialog : public QParagraphDialogBase
-{ Q_OBJECT
-
+{
+       Q_OBJECT
 public:
-       QParagraphDialog(QParagraph * form, QWidget * parent = 0,
-                        char const * name = 0, bool modal = FALSE,
-                        WFlags fl = 0);
-       ~QParagraphDialog();
+       QParagraphDialog(QParagraph * form);
 
-       void setReadOnly(bool);
-       void setLabelWidth(char const *);
-       void setAlign(int);
-       void setChecks(bool, bool, bool, bool, bool);
-       void setSpace(VSpace::vspace_kind, VSpace::vspace_kind, bool, bool);
-       void setAboveLength(float, float, float,
-                           LyXLength::UNIT, LyXLength::UNIT, LyXLength::UNIT);
-       void setBelowLength(float, float, float,
-                           LyXLength::UNIT, LyXLength::UNIT, LyXLength::UNIT);
-       void setExtra(float, LyXLength::UNIT,
-                     string const &, int, bool, bool, Paragraph::PEXTRA_TYPE);
-       LyXGlueLength getAboveLength() const;
-       LyXGlueLength getBelowLength() const;
-       LyXLength getExtraWidth() const;
-       string getExtraWidthPercent() const;
-       // FIXME: return a std::string !
-       char const * getLabelWidth() const;
-       LyXAlignment getAlign() const;
-       bool getAboveKeep() const;
-       bool getBelowKeep() const;
-       bool getLineAbove() const;
-       bool getLineBelow() const;
-       bool getPagebreakAbove() const;
-       bool getPagebreakBelow() const;
-       bool getNoIndent() const;
-       VSpace::vspace_kind getSpaceAboveKind() const;
-       VSpace::vspace_kind getSpaceBelowKind() const;
-       Paragraph::PEXTRA_TYPE getExtraType() const;
-       Paragraph::MINIPAGE_ALIGNMENT getExtraAlign() const;
-       bool getHfillBetween() const;
-       bool getStartNewMinipage() const;
 protected:
        void closeEvent (QCloseEvent * e);
 private:
        QParagraph * form_;
-       VSpace::vspace_kind getSpaceKind(int val) const;
-       LyXLength::UNIT getLyXLength(int val) const;
-       int getItem(LyXLength::UNIT unit) const;
+       
 protected slots:
-       void apply_adaptor();
-       void cancel_adaptor();
-       void enable_extraOptions(int);
-       void enable_minipageOptions(int);
-       void enable_spacingAbove(int);
-       void enable_spacingBelow(int);
-       void ok_adaptor();
-       void restore_adaptor();
+       void change_adaptor();
+       void enableAbove(int);
+       void enableBelow(int);
+       void enableLinespacingValue(int);
 };
 
 #endif // QPARAGRAPHDIALOG_H
index f8ec2e7282b47b6fd5b602b9ae3bdb60e1bb0e62..26e0fb89727c006b41dd175a2927aa8c082c4f08 100644 (file)
@@ -44,7 +44,8 @@
 #include "QLogDialog.h"
 #include "QMinipage.h"
 #include "QMinipageDialog.h"
-//#include "QParagraph.h"
+#include "QParagraph.h"
+#include "QParagraphDialog.h"
 #include "QPreamble.h"
 #include "QPreambleDialog.h"
 //#include "QPreferences.h"
@@ -150,6 +151,10 @@ GUISingleton<GUI<ControlMinipage, QMinipage,
                 NoRepeatedApplyReadOnlyPolicy, Qt2BC> >
 controlMinipageSingleton;
 
+GUISingleton<GUI<ControlParagraph, QParagraph,
+                OkApplyCancelReadOnlyPolicy, Qt2BC> >
+controlParagraphSingleton;
+
 //GUISingleton<QPreferences> formPreferencesSingleton;
 
 GUISingleton<GUI<ControlRef, QRef,
@@ -344,6 +349,7 @@ extern "C" {
 
        void gui_ShowParagraph(LyXView & lv, Dialogs & d)
        {
+               controlParagraphSingleton.get(lv, d).show();
 #if 0
                static GUI<ControlParagraph, QParagraph,
                        OkApplyCancelReadOnlyPolicy, Qt2BC> cp(lv, d);
index 1d4f0b36683d00202c12e19933dd9fd634b35e61..0545dea39c3f01568532164d636d7706d49662de 100644 (file)
         <rect>
             <x>0</x>
             <y>0</y>
-            <width>567</width>
-            <height>387</height>
+            <width>403</width>
+            <height>292</height>
         </rect>
     </property>
-    <property stdset="1">
-        <name>sizePolicy</name>
-        <sizepolicy>
-            <hsizetype>1</hsizetype>
-            <vsizetype>1</vsizetype>
-        </sizepolicy>
-    </property>
     <property stdset="1">
         <name>caption</name>
-        <string>Paragraph</string>
-    </property>
-    <property stdset="1">
-        <name>sizeGripEnabled</name>
-        <bool>true</bool>
-    </property>
-    <property>
-        <name>layoutMargin</name>
-    </property>
-    <property>
-        <name>layoutSpacing</name>
+        <string>Form1</string>
     </property>
     <vbox>
         <property stdset="1">
             <class>QTabWidget</class>
             <property stdset="1">
                 <name>name</name>
-                <cstring>TabsParagraph</cstring>
-            </property>
-            <property>
-                <name>layoutMargin</name>
+                <cstring>paragraphTab</cstring>
             </property>
             <property>
-                <name>layoutSpacing</name>
+                <name>toolTip</name>
+                <string></string>
             </property>
             <widget>
                 <class>QWidget</class>
@@ -67,9 +48,9 @@
                 </property>
                 <attribute>
                     <name>title</name>
-                    <string>&amp;Alignment and Spacing</string>
+                    <string>&amp;General</string>
                 </attribute>
-                <vbox>
+                <grid>
                     <property stdset="1">
                         <name>margin</name>
                         <number>11</number>
                         <name>spacing</name>
                         <number>6</number>
                     </property>
-                    <widget>
-                        <class>QLayoutWidget</class>
+                    <widget row="0"  column="1" >
+                        <class>QComboBox</class>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>Justified</string>
+                            </property>
+                        </item>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>Left</string>
+                            </property>
+                        </item>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>Right</string>
+                            </property>
+                        </item>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>Center</string>
+                            </property>
+                        </item>
                         <property stdset="1">
                             <name>name</name>
-                            <cstring>Layout6</cstring>
+                            <cstring>align</cstring>
                         </property>
-                        <hbox>
-                            <property stdset="1">
-                                <name>margin</name>
-                                <number>0</number>
+                    </widget>
+                    <widget row="1"  column="2" >
+                        <class>QLineEdit</class>
+                        <property stdset="1">
+                            <name>name</name>
+                            <cstring>linespacingValue</cstring>
+                        </property>
+                        <property stdset="1">
+                            <name>enabled</name>
+                            <bool>false</bool>
+                        </property>
+                    </widget>
+                    <widget row="1"  column="1" >
+                        <class>QComboBox</class>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>Default</string>
                             </property>
-                            <property stdset="1">
-                                <name>spacing</name>
-                                <number>6</number>
+                        </item>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>Single</string>
                             </property>
-                            <widget>
-                                <class>QLabel</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>alignmentL</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>text</name>
-                                    <string>Alignment:</string>
-                                </property>
-                                <property stdset="1">
-                                    <name>sizePolicy</name>
-                                    <sizepolicy>
-                                        <hsizetype>1</hsizetype>
-                                        <vsizetype>1</vsizetype>
-                                    </sizepolicy>
-                                </property>
-                            </widget>
-                            <widget>
-                                <class>QComboBox</class>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Justified</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Left</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Right</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Centered</string>
-                                    </property>
-                                </item>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>alignment</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>insertionPolicy</name>
-                                    <enum>AtBottom</enum>
-                                </property>
-                                <property stdset="1">
-                                    <name>autoCompletion</name>
-                                    <bool>false</bool>
-                                </property>
-                            </widget>
-                            <spacer>
-                                <property>
-                                    <name>name</name>
-                                    <cstring>Spacer3</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>orientation</name>
-                                    <enum>Horizontal</enum>
-                                </property>
-                                <property stdset="1">
-                                    <name>sizeType</name>
-                                    <enum>Expanding</enum>
-                                </property>
-                                <property>
-                                    <name>sizeHint</name>
-                                    <size>
-                                        <width>20</width>
-                                        <height>20</height>
-                                    </size>
-                                </property>
-                            </spacer>
-                            <widget>
-                                <class>QCheckBox</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>noIndent</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>text</name>
-                                    <string>No indentation</string>
-                                </property>
-                            </widget>
-                        </hbox>
+                        </item>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>1.5</string>
+                            </property>
+                        </item>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>Double</string>
+                            </property>
+                        </item>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>Custom</string>
+                            </property>
+                        </item>
+                        <property stdset="1">
+                            <name>name</name>
+                            <cstring>linespacing</cstring>
+                        </property>
                     </widget>
-                    <widget>
-                        <class>QGroupBox</class>
+                    <widget row="1"  column="0" >
+                        <class>QLabel</class>
                         <property stdset="1">
                             <name>name</name>
-                            <cstring>spacingOptions</cstring>
+                            <cstring>linespacingL</cstring>
                         </property>
                         <property stdset="1">
-                            <name>title</name>
-                            <string>Spacing</string>
+                            <name>text</name>
+                            <string>L&amp;ine spacing:</string>
+                        </property>
+                        <property>
+                            <name>buddy</name>
+                            <cstring>linespacing</cstring>
+                        </property>
+                    </widget>
+                    <widget row="0"  column="0" >
+                        <class>QLabel</class>
+                        <property stdset="1">
+                            <name>name</name>
+                            <cstring>alignL</cstring>
                         </property>
                         <property stdset="1">
-                            <name>enabled</name>
-                            <bool>true</bool>
+                            <name>text</name>
+                            <string>Alig&amp;nment:</string>
                         </property>
                         <property>
-                            <name>layoutSpacing</name>
+                            <name>buddy</name>
+                            <cstring>align</cstring>
                         </property>
-                        <grid>
-                            <property stdset="1">
-                                <name>margin</name>
-                                <number>11</number>
+                    </widget>
+                    <widget row="2"  column="0"  rowspan="1"  colspan="2" >
+                        <class>QCheckBox</class>
+                        <property stdset="1">
+                            <name>name</name>
+                            <cstring>noindent</cstring>
+                        </property>
+                        <property stdset="1">
+                            <name>text</name>
+                            <string>No &amp;indent</string>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+            <widget>
+                <class>QWidget</class>
+                <property stdset="1">
+                    <name>name</name>
+                    <cstring>tab</cstring>
+                </property>
+                <attribute>
+                    <name>title</name>
+                    <string>&amp;Spacing</string>
+                </attribute>
+                <grid>
+                    <property stdset="1">
+                        <name>margin</name>
+                        <number>11</number>
+                    </property>
+                    <property stdset="1">
+                        <name>spacing</name>
+                        <number>6</number>
+                    </property>
+                    <widget row="0"  column="1" >
+                        <class>QLabel</class>
+                        <property stdset="1">
+                            <name>name</name>
+                            <cstring>aboveL</cstring>
+                        </property>
+                        <property stdset="1">
+                            <name>text</name>
+                            <string>Above paragraph</string>
+                        </property>
+                        <property stdset="1">
+                            <name>alignment</name>
+                            <set>AlignCenter</set>
+                        </property>
+                        <property>
+                            <name>hAlign</name>
+                        </property>
+                    </widget>
+                    <widget row="1"  column="0" >
+                        <class>QLabel</class>
+                        <property stdset="1">
+                            <name>name</name>
+                            <cstring>spacingL</cstring>
+                        </property>
+                        <property stdset="1">
+                            <name>text</name>
+                            <string>S&amp;pacing:</string>
+                        </property>
+                        <property>
+                            <name>buddy</name>
+                            <cstring>spacingAbove</cstring>
+                        </property>
+                    </widget>
+                    <widget row="4"  column="0" >
+                        <class>QLabel</class>
+                        <property stdset="1">
+                            <name>name</name>
+                            <cstring>keepL</cstring>
+                        </property>
+                        <property stdset="1">
+                            <name>text</name>
+                            <string>&amp;Keep space:</string>
+                        </property>
+                        <property>
+                            <name>buddy</name>
+                            <cstring>keepAbove</cstring>
+                        </property>
+                    </widget>
+                    <widget row="3"  column="0" >
+                        <class>QLabel</class>
+                        <property stdset="1">
+                            <name>name</name>
+                            <cstring>unitL</cstring>
+                        </property>
+                        <property stdset="1">
+                            <name>text</name>
+                            <string>&amp;Unit:</string>
+                        </property>
+                        <property>
+                            <name>buddy</name>
+                            <cstring>unitAbove</cstring>
+                        </property>
+                    </widget>
+                    <widget row="2"  column="0" >
+                        <class>QLabel</class>
+                        <property stdset="1">
+                            <name>name</name>
+                            <cstring>valueL</cstring>
+                        </property>
+                        <property stdset="1">
+                            <name>text</name>
+                            <string>&amp;Value:</string>
+                        </property>
+                        <property>
+                            <name>buddy</name>
+                            <cstring>valueAbove</cstring>
+                        </property>
+                    </widget>
+                    <widget row="1"  column="1" >
+                        <class>QComboBox</class>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>None</string>
                             </property>
-                            <property stdset="1">
-                                <name>spacing</name>
-                                <number>6</number>
+                        </item>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>DefSkip</string>
                             </property>
-                            <widget row="4"  column="2" >
-                                <class>QComboBox</class>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Centimetres</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Inches</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Millimetres</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Picas</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>ex Units</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>em Units</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Scaled Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Big/PS Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Didot Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Cicero Points</string>
-                                    </property>
-                                </item>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingBelowValueUnit</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                                <property stdset="1">
-                                    <name>sizePolicy</name>
-                                    <sizepolicy>
-                                        <hsizetype>3</hsizetype>
-                                        <vsizetype>0</vsizetype>
-                                    </sizepolicy>
-                                </property>
-                            </widget>
-                            <widget row="4"  column="3" >
-                                <class>QComboBox</class>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Centimetres</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Inches</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Millimetres</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Picas</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>ex Units</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>em Units</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Scaled Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Big/PS Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Didot Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Cicero Points</string>
-                                    </property>
-                                </item>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingBelowPlusUnit</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                                <property stdset="1">
-                                    <name>sizePolicy</name>
-                                    <sizepolicy>
-                                        <hsizetype>3</hsizetype>
-                                        <vsizetype>0</vsizetype>
-                                    </sizepolicy>
-                                </property>
-                            </widget>
-                            <widget row="4"  column="4" >
-                                <class>QComboBox</class>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Centimetres</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Inches</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Millimetres</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Picas</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>ex Units</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>em Units</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Scaled Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Big/PS Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Didot Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Cicero Points</string>
-                                    </property>
-                                </item>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingBelowMinusUnit</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                                <property stdset="1">
-                                    <name>sizePolicy</name>
-                                    <sizepolicy>
-                                        <hsizetype>3</hsizetype>
-                                        <vsizetype>0</vsizetype>
-                                    </sizepolicy>
-                                </property>
-                            </widget>
-                            <widget row="2"  column="3" >
-                                <class>QComboBox</class>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Centimetres</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Inches</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Millimetres</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Picas</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>ex Units</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>em Units</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Scaled Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Big/PS Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Didot Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Cicero Points</string>
-                                    </property>
-                                </item>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingAbovePlusUnit</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                                <property stdset="1">
-                                    <name>sizePolicy</name>
-                                    <sizepolicy>
-                                        <hsizetype>3</hsizetype>
-                                        <vsizetype>0</vsizetype>
-                                    </sizepolicy>
-                                </property>
-                            </widget>
-                            <widget row="2"  column="2" >
-                                <class>QComboBox</class>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Centimetres</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Inches</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Millimetres</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Picas</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>ex Units</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>em Units</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Scaled Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Big/PS Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Didot Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Cicero Points</string>
-                                    </property>
-                                </item>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingAboveValueUnit</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                                <property stdset="1">
-                                    <name>sizePolicy</name>
-                                    <sizepolicy>
-                                        <hsizetype>3</hsizetype>
-                                        <vsizetype>0</vsizetype>
-                                    </sizepolicy>
-                                </property>
-                            </widget>
-                            <widget row="3"  column="2" >
-                                <class>QLineEdit</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingBelowValue</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                            </widget>
-                            <widget row="3"  column="3" >
-                                <class>QLineEdit</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingBelowPlus</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                            </widget>
-                            <widget row="2"  column="4" >
-                                <class>QComboBox</class>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Centimetres</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Inches</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Millimetres</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Picas</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>ex Units</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>em Units</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Scaled Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Big/PS Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Didot Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Cicero Points</string>
-                                    </property>
-                                </item>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingAboveMinusUnit</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                                <property stdset="1">
-                                    <name>sizePolicy</name>
-                                    <sizepolicy>
-                                        <hsizetype>3</hsizetype>
-                                        <vsizetype>0</vsizetype>
-                                    </sizepolicy>
-                                </property>
-                            </widget>
-                            <widget row="1"  column="2" >
-                                <class>QLineEdit</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingAboveValue</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                            </widget>
-                            <widget row="1"  column="3" >
-                                <class>QLineEdit</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingAbovePlus</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                            </widget>
-                            <widget row="1"  column="4" >
-                                <class>QLineEdit</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingAboveMinus</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                            </widget>
-                            <widget row="3"  column="4" >
-                                <class>QLineEdit</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingBelowMinus</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                            </widget>
-                            <widget row="4"  column="1" >
-                                <class>QLayoutWidget</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>Layout2_1</cstring>
-                                </property>
-                                <hbox>
-                                    <property stdset="1">
-                                        <name>margin</name>
-                                        <number>0</number>
-                                    </property>
-                                    <property stdset="1">
-                                        <name>spacing</name>
-                                        <number>6</number>
-                                    </property>
-                                    <spacer>
-                                        <property>
-                                            <name>name</name>
-                                            <cstring>Spacer2_1_1</cstring>
-                                        </property>
-                                        <property stdset="1">
-                                            <name>orientation</name>
-                                            <enum>Horizontal</enum>
-                                        </property>
-                                        <property stdset="1">
-                                            <name>sizeType</name>
-                                            <enum>Expanding</enum>
-                                        </property>
-                                        <property>
-                                            <name>sizeHint</name>
-                                            <size>
-                                                <width>20</width>
-                                                <height>20</height>
-                                            </size>
-                                        </property>
-                                    </spacer>
-                                    <widget>
-                                        <class>QLabel</class>
-                                        <property stdset="1">
-                                            <name>name</name>
-                                            <cstring>spacingBelowUnitsL</cstring>
-                                        </property>
-                                        <property stdset="1">
-                                            <name>text</name>
-                                            <string>Units:</string>
-                                        </property>
-                                        <property stdset="1">
-                                            <name>sizePolicy</name>
-                                            <sizepolicy>
-                                                <hsizetype>1</hsizetype>
-                                                <vsizetype>1</vsizetype>
-                                            </sizepolicy>
-                                        </property>
-                                        <property stdset="1">
-                                            <name>enabled</name>
-                                            <bool>false</bool>
-                                        </property>
-                                        <property>
-                                            <name>toolTip</name>
-                                            <string>Unit of Size, Stretch and Slink</string>
-                                        </property>
-                                    </widget>
-                                </hbox>
-                            </widget>
-                            <widget row="2"  column="1" >
-                                <class>QLayoutWidget</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>Layout2_1_2</cstring>
-                                </property>
-                                <hbox>
-                                    <property stdset="1">
-                                        <name>margin</name>
-                                        <number>0</number>
-                                    </property>
-                                    <property stdset="1">
-                                        <name>spacing</name>
-                                        <number>6</number>
-                                    </property>
-                                    <spacer>
-                                        <property>
-                                            <name>name</name>
-                                            <cstring>Spacer2_1_1_2</cstring>
-                                        </property>
-                                        <property stdset="1">
-                                            <name>orientation</name>
-                                            <enum>Horizontal</enum>
-                                        </property>
-                                        <property stdset="1">
-                                            <name>sizeType</name>
-                                            <enum>Expanding</enum>
-                                        </property>
-                                        <property>
-                                            <name>sizeHint</name>
-                                            <size>
-                                                <width>20</width>
-                                                <height>20</height>
-                                            </size>
-                                        </property>
-                                    </spacer>
-                                    <widget>
-                                        <class>QLabel</class>
-                                        <property stdset="1">
-                                            <name>name</name>
-                                            <cstring>spacingAboveUnitsL</cstring>
-                                        </property>
-                                        <property stdset="1">
-                                            <name>text</name>
-                                            <string>Units:</string>
-                                        </property>
-                                        <property stdset="1">
-                                            <name>sizePolicy</name>
-                                            <sizepolicy>
-                                                <hsizetype>1</hsizetype>
-                                                <vsizetype>1</vsizetype>
-                                            </sizepolicy>
-                                        </property>
-                                        <property stdset="1">
-                                            <name>enabled</name>
-                                            <bool>false</bool>
-                                        </property>
-                                        <property>
-                                            <name>toolTip</name>
-                                            <string>Unit of Size, Stretch and Slink</string>
-                                        </property>
-                                    </widget>
-                                </hbox>
-                            </widget>
-                            <widget row="0"  column="2" >
-                                <class>QLabel</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingValueL</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>sizePolicy</name>
-                                    <sizepolicy>
-                                        <hsizetype>1</hsizetype>
-                                        <vsizetype>1</vsizetype>
-                                    </sizepolicy>
-                                </property>
-                                <property stdset="1">
-                                    <name>text</name>
-                                    <string>Value:</string>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                                <property>
-                                    <name>toolTip</name>
-                                    <string>Amount of spacing</string>
-                                </property>
-                            </widget>
-                            <widget row="0"  column="3" >
-                                <class>QLabel</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingPlusL</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>sizePolicy</name>
-                                    <sizepolicy>
-                                        <hsizetype>1</hsizetype>
-                                        <vsizetype>1</vsizetype>
-                                    </sizepolicy>
-                                </property>
-                                <property stdset="1">
-                                    <name>text</name>
-                                    <string>Stretch:</string>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                                <property>
-                                    <name>toolTip</name>
-                                    <string>Margin by which paragraph is allowed to increase</string>
-                                </property>
-                            </widget>
-                            <widget row="0"  column="4" >
-                                <class>QLabel</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingMinusL</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>sizePolicy</name>
-                                    <sizepolicy>
-                                        <hsizetype>1</hsizetype>
-                                        <vsizetype>1</vsizetype>
-                                    </sizepolicy>
-                                </property>
-                                <property stdset="1">
-                                    <name>text</name>
-                                    <string>Shrink:</string>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                                <property>
-                                    <name>toolTip</name>
-                                    <string>Margin by which paragraph is allowed to decrease</string>
-                                </property>
-                            </widget>
-                            <widget row="1"  column="1" >
-                                <class>QComboBox</class>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>None</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>DefSkip</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>SmallSkip</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>MedSkip</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>BigSkip</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>VFill</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Custom</string>
-                                    </property>
-                                </item>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingAbove</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>sizePolicy</name>
-                                    <sizepolicy>
-                                        <hsizetype>3</hsizetype>
-                                        <vsizetype>0</vsizetype>
-                                    </sizepolicy>
-                                </property>
-                            </widget>
-                            <widget row="1"  column="0" >
-                                <class>QLabel</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingAboveL</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>text</name>
-                                    <string>Above:</string>
-                                </property>
-                                <property>
-                                    <name>buddy</name>
-                                    <cstring></cstring>
-                                </property>
-                            </widget>
-                            <widget row="3"  column="0" >
-                                <class>QLabel</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingBelowL</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>text</name>
-                                    <string>Below:</string>
-                                </property>
-                                <property>
-                                    <name>buddy</name>
-                                    <cstring></cstring>
-                                </property>
-                            </widget>
-                            <widget row="3"  column="1" >
-                                <class>QComboBox</class>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>None</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>DefSkip</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>SmallSkip</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>MedSkip</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>BigSkip</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>VFill</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Custom</string>
-                                    </property>
-                                </item>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingBelow</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>sizePolicy</name>
-                                    <sizepolicy>
-                                        <hsizetype>3</hsizetype>
-                                        <vsizetype>0</vsizetype>
-                                    </sizepolicy>
-                                </property>
-                            </widget>
-                            <widget row="5"  column="1"  rowspan="1"  colspan="2" >
-                                <class>QCheckBox</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingAboveKeep</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>text</name>
-                                    <string>Keep space at the top of the page</string>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>true</bool>
-                                </property>
-                                <property>
-                                    <name>toolTip</name>
-                                    <string>Keep space at top of the page</string>
-                                </property>
-                            </widget>
-                            <widget row="5"  column="3"  rowspan="1"  colspan="2" >
-                                <class>QCheckBox</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>spacingBelowKeep</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>text</name>
-                                    <string>Keep space at the bottom of the page</string>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>true</bool>
-                                </property>
-                                <property>
-                                    <name>toolTip</name>
-                                    <string>Keep space at the bottom of the page</string>
-                                </property>
-                            </widget>
-                        </grid>
+                        </item>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>SmallSkip</string>
+                            </property>
+                        </item>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>MedSkip</string>
+                            </property>
+                        </item>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>BigSkip</string>
+                            </property>
+                        </item>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>VFill</string>
+                            </property>
+                        </item>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>Custom</string>
+                            </property>
+                        </item>
+                        <property stdset="1">
+                            <name>name</name>
+                            <cstring>spacingAbove</cstring>
+                        </property>
                     </widget>
-                    <widget>
-                        <class>QGroupBox</class>
+                    <widget row="1"  column="2" >
+                        <class>QComboBox</class>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>None</string>
+                            </property>
+                        </item>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>DefSkip</string>
+                            </property>
+                        </item>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>SmallSkip</string>
+                            </property>
+                        </item>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>MedSkip</string>
+                            </property>
+                        </item>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>BigSkip</string>
+                            </property>
+                        </item>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>VFill</string>
+                            </property>
+                        </item>
+                        <item>
+                            <property>
+                                <name>text</name>
+                                <string>Custom</string>
+                            </property>
+                        </item>
                         <property stdset="1">
                             <name>name</name>
-                            <cstring>listOptions</cstring>
+                            <cstring>spacingBelow</cstring>
                         </property>
+                    </widget>
+                    <widget row="2"  column="1" >
+                        <class>QLineEdit</class>
                         <property stdset="1">
-                            <name>title</name>
-                            <string>List environment</string>
+                            <name>name</name>
+                            <cstring>valueAbove</cstring>
                         </property>
                         <property stdset="1">
                             <name>enabled</name>
                             <bool>false</bool>
                         </property>
-                        <hbox>
-                            <property stdset="1">
-                                <name>margin</name>
-                                <number>11</number>
-                            </property>
-                            <property stdset="1">
-                                <name>spacing</name>
-                                <number>6</number>
-                            </property>
-                            <widget>
-                                <class>QLabel</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>labelWidthL</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>text</name>
-                                    <string>Label width:</string>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                                <property>
-                                    <name>toolTip</name>
-                                    <string>Label width in list environment</string>
-                                </property>
-                            </widget>
-                            <widget>
-                                <class>QLineEdit</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>labelWidth</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                            </widget>
-                            <spacer>
-                                <property>
-                                    <name>name</name>
-                                    <cstring>Spacer7</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>orientation</name>
-                                    <enum>Horizontal</enum>
-                                </property>
-                                <property stdset="1">
-                                    <name>sizeType</name>
-                                    <enum>Expanding</enum>
-                                </property>
-                                <property>
-                                    <name>sizeHint</name>
-                                    <size>
-                                        <width>20</width>
-                                        <height>20</height>
-                                    </size>
-                                </property>
-                            </spacer>
-                        </hbox>
                     </widget>
-                    <spacer>
+                    <widget row="2"  column="2" >
+                        <class>QLineEdit</class>
+                        <property stdset="1">
+                            <name>name</name>
+                            <cstring>valueBelow</cstring>
+                        </property>
+                        <property stdset="1">
+                            <name>enabled</name>
+                            <bool>false</bool>
+                        </property>
+                    </widget>
+                    <widget row="3"  column="1" >
+                        <class>QComboBox</class>
+                        <property stdset="1">
+                            <name>name</name>
+                            <cstring>unitAbove</cstring>
+                        </property>
+                        <property stdset="1">
+                            <name>enabled</name>
+                            <bool>false</bool>
+                        </property>
+                    </widget>
+                    <widget row="3"  column="2" >
+                        <class>QComboBox</class>
+                        <property stdset="1">
+                            <name>name</name>
+                            <cstring>unitBelow</cstring>
+                        </property>
+                        <property stdset="1">
+                            <name>enabled</name>
+                            <bool>false</bool>
+                        </property>
+                    </widget>
+                    <widget row="4"  column="1" >
+                        <class>QCheckBox</class>
+                        <property stdset="1">
+                            <name>name</name>
+                            <cstring>keepAbove</cstring>
+                        </property>
+                        <property stdset="1">
+                            <name>text</name>
+                            <string></string>
+                        </property>
+                    </widget>
+                    <widget row="4"  column="2" >
+                        <class>QCheckBox</class>
+                        <property stdset="1">
+                            <name>name</name>
+                            <cstring>keepBelow</cstring>
+                        </property>
+                        <property stdset="1">
+                            <name>text</name>
+                            <string></string>
+                        </property>
+                    </widget>
+                    <widget row="0"  column="2" >
+                        <class>QLabel</class>
+                        <property stdset="1">
+                            <name>name</name>
+                            <cstring>belowL</cstring>
+                        </property>
+                        <property stdset="1">
+                            <name>text</name>
+                            <string>Below paragraph</string>
+                        </property>
+                        <property stdset="1">
+                            <name>alignment</name>
+                            <set>AlignCenter</set>
+                        </property>
+                        <property>
+                            <name>hAlign</name>
+                        </property>
+                    </widget>
+                    <spacer row="5"  column="0"  rowspan="1"  colspan="3" >
                         <property>
                             <name>name</name>
-                            <cstring>Spacer1_5</cstring>
+                            <cstring>Spacer7</cstring>
                         </property>
                         <property stdset="1">
                             <name>orientation</name>
                             </size>
                         </property>
                     </spacer>
-                </vbox>
+                </grid>
             </widget>
             <widget>
                 <class>QWidget</class>
                 </property>
                 <attribute>
                     <name>title</name>
-                    <string>&amp;Lines and Page breaks</string>
+                    <string>&amp;Lines &amp;&amp; Pagebreaks</string>
                 </attribute>
                 <grid>
                     <property stdset="1">
                         <name>spacing</name>
                         <number>6</number>
                     </property>
-                    <widget row="0"  column="1" >
-                        <class>QGroupBox</class>
+                    <widget row="1"  column="0"  rowspan="1"  colspan="2" >
+                        <class>QButtonGroup</class>
                         <property stdset="1">
                             <name>name</name>
-                            <cstring>pagebreakOptions</cstring>
+                            <cstring>labelwidthGB</cstring>
                         </property>
                         <property stdset="1">
-                            <name>title</name>
-                            <string>Page break</string>
+                            <name>enabled</name>
+                            <bool>false</bool>
                         </property>
                         <property stdset="1">
-                            <name>orientation</name>
-                            <enum>Vertical</enum>
+                            <name>title</name>
+                            <string>Label width</string>
                         </property>
-                        <vbox>
+                        <hbox>
                             <property stdset="1">
                                 <name>margin</name>
                                 <number>11</number>
                                 <number>6</number>
                             </property>
                             <widget>
-                                <class>QCheckBox</class>
+                                <class>QLabel</class>
                                 <property stdset="1">
                                     <name>name</name>
-                                    <cstring>pagebreakAbove</cstring>
+                                    <cstring>TextLabel2</cstring>
                                 </property>
                                 <property stdset="1">
                                     <name>text</name>
-                                    <string>above paragraph</string>
+                                    <string>Lon&amp;gest label</string>
+                                </property>
+                                <property>
+                                    <name>buddy</name>
+                                    <cstring>labelWidth</cstring>
                                 </property>
                             </widget>
                             <widget>
-                                <class>QCheckBox</class>
+                                <class>QLineEdit</class>
                                 <property stdset="1">
                                     <name>name</name>
-                                    <cstring>pagebreakBelow</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>text</name>
-                                    <string>below paragraph</string>
+                                    <cstring>labelWidth</cstring>
                                 </property>
                             </widget>
-                        </vbox>
+                        </hbox>
                     </widget>
-                    <spacer row="0"  column="2" >
-                        <property>
-                            <name>name</name>
-                            <cstring>Spacer1_2</cstring>
-                        </property>
-                        <property stdset="1">
-                            <name>orientation</name>
-                            <enum>Horizontal</enum>
-                        </property>
-                        <property stdset="1">
-                            <name>sizeType</name>
-                            <enum>Expanding</enum>
-                        </property>
-                        <property>
-                            <name>sizeHint</name>
-                            <size>
-                                <width>20</width>
-                                <height>20</height>
-                            </size>
-                        </property>
-                        <property>
-                            <name>toolTip</name>
-                            <string>Index entry</string>
-                        </property>
-                    </spacer>
-                    <spacer row="1"  column="2" >
-                        <property>
-                            <name>name</name>
-                            <cstring>Spacer2</cstring>
-                        </property>
-                        <property stdset="1">
-                            <name>orientation</name>
-                            <enum>Vertical</enum>
-                        </property>
-                        <property stdset="1">
-                            <name>sizeType</name>
-                            <enum>Expanding</enum>
-                        </property>
-                        <property>
-                            <name>sizeHint</name>
-                            <size>
-                                <width>20</width>
-                                <height>20</height>
-                            </size>
-                        </property>
-                    </spacer>
                     <widget row="0"  column="0" >
                         <class>QGroupBox</class>
                         <property stdset="1">
                             <name>name</name>
-                            <cstring>lineOptions</cstring>
+                            <cstring>linesGB</cstring>
                         </property>
                         <property stdset="1">
                             <name>title</name>
-                            <string>Line</string>
+                            <string>L&amp;ines</string>
                         </property>
                         <vbox>
                             <property stdset="1">
                                 </property>
                                 <property stdset="1">
                                     <name>text</name>
-                                    <string>above paragraph</string>
+                                    <string>A&amp;bove</string>
                                 </property>
                             </widget>
                             <widget>
                                 </property>
                                 <property stdset="1">
                                     <name>text</name>
-                                    <string>below paragraph</string>
+                                    <string>B&amp;elow</string>
                                 </property>
                             </widget>
                         </vbox>
                     </widget>
-                </grid>
-            </widget>
-            <widget>
-                <class>QWidget</class>
-                <property stdset="1">
-                    <name>name</name>
-                    <cstring>tab</cstring>
-                </property>
-                <attribute>
-                    <name>title</name>
-                    <string>&amp;Extra options</string>
-                </attribute>
-                <grid>
-                    <property stdset="1">
-                        <name>margin</name>
-                        <number>11</number>
-                    </property>
-                    <property stdset="1">
-                        <name>spacing</name>
-                        <number>6</number>
-                    </property>
-                    <spacer row="1"  column="1" >
-                        <property>
-                            <name>name</name>
-                            <cstring>Spacer1_4</cstring>
-                        </property>
-                        <property stdset="1">
-                            <name>orientation</name>
-                            <enum>Horizontal</enum>
-                        </property>
-                        <property stdset="1">
-                            <name>sizeType</name>
-                            <enum>Expanding</enum>
-                        </property>
-                        <property>
-                            <name>sizeHint</name>
-                            <size>
-                                <width>20</width>
-                                <height>20</height>
-                            </size>
-                        </property>
-                    </spacer>
-                    <widget row="0"  column="0" >
-                        <class>QLayoutWidget</class>
-                        <property stdset="1">
-                            <name>name</name>
-                            <cstring>Layout7</cstring>
-                        </property>
-                        <grid>
-                            <property stdset="1">
-                                <name>margin</name>
-                                <number>0</number>
-                            </property>
-                            <property stdset="1">
-                                <name>spacing</name>
-                                <number>6</number>
-                            </property>
-                            <widget row="0"  column="2" >
-                                <class>QLabel</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>extraUnitL</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>text</name>
-                                    <string>Unit:</string>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                            </widget>
-                            <widget row="1"  column="2" >
-                                <class>QComboBox</class>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Centimetres</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Inches</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Millimetres</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Picas</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>ex Units</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>em Units</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Scaled Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Big/PS Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Didot Points</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Cicero Points</string>
-                                    </property>
-                                </item>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>extraUnit</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>focusPolicy</name>
-                                    <enum>TabFocus</enum>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                            </widget>
-                            <widget row="1"  column="1" >
-                                <class>QLineEdit</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>extraWidth</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                            </widget>
-                            <widget row="1"  column="0" >
-                                <class>QComboBox</class>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>None</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Minipage</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Wrap text around floats</string>
-                                    </property>
-                                </item>
-                                <item>
-                                    <property>
-                                        <name>text</name>
-                                        <string>Indent whole paragraph</string>
-                                    </property>
-                                </item>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>extraType</cstring>
-                                </property>
-                            </widget>
-                            <widget row="0"  column="1" >
-                                <class>QLabel</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>extraWidthL</cstring>
-                                </property>
-                                <property stdset="1">
-                                    <name>text</name>
-                                    <string>Width:</string>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                            </widget>
-                        </grid>
-                    </widget>
-                    <widget row="1"  column="0" >
+                    <widget row="0"  column="1" >
                         <class>QGroupBox</class>
                         <property stdset="1">
                             <name>name</name>
-                            <cstring>minipageOptions</cstring>
+                            <cstring>pagebreakGB</cstring>
                         </property>
                         <property stdset="1">
                             <name>title</name>
-                            <string>Minipage options</string>
-                        </property>
-                        <property stdset="1">
-                            <name>enabled</name>
-                            <bool>false</bool>
+                            <string>&amp;Page breaks</string>
                         </property>
                         <vbox>
                             <property stdset="1">
                                 <class>QCheckBox</class>
                                 <property stdset="1">
                                     <name>name</name>
-                                    <cstring>minipageStart</cstring>
+                                    <cstring>pagebreakAbove</cstring>
                                 </property>
                                 <property stdset="1">
                                     <name>text</name>
-                                    <string>Start new minipage</string>
-                                </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
+                                    <string>Abo&amp;ve</string>
                                 </property>
                             </widget>
                             <widget>
                                 <class>QCheckBox</class>
                                 <property stdset="1">
                                     <name>name</name>
-                                    <cstring>minipageHfill</cstring>
+                                    <cstring>pagebreakBelow</cstring>
                                 </property>
                                 <property stdset="1">
                                     <name>text</name>
-                                    <string>HFill between minipage paragraphs</string>
+                                    <string>Belo&amp;w</string>
                                 </property>
-                                <property stdset="1">
-                                    <name>enabled</name>
-                                    <bool>false</bool>
-                                </property>
-                            </widget>
-                            <widget>
-                                <class>QLayoutWidget</class>
-                                <property stdset="1">
-                                    <name>name</name>
-                                    <cstring>Layout15</cstring>
-                                </property>
-                                <hbox>
-                                    <property stdset="1">
-                                        <name>margin</name>
-                                        <number>0</number>
-                                    </property>
-                                    <property stdset="1">
-                                        <name>spacing</name>
-                                        <number>6</number>
-                                    </property>
-                                    <widget>
-                                        <class>QLabel</class>
-                                        <property stdset="1">
-                                            <name>name</name>
-                                            <cstring>minipageValignL</cstring>
-                                        </property>
-                                        <property stdset="1">
-                                            <name>text</name>
-                                            <string>Vertical Alignment:</string>
-                                        </property>
-                                    </widget>
-                                    <widget>
-                                        <class>QComboBox</class>
-                                        <item>
-                                            <property>
-                                                <name>text</name>
-                                                <string>Top</string>
-                                            </property>
-                                        </item>
-                                        <item>
-                                            <property>
-                                                <name>text</name>
-                                                <string>Middle</string>
-                                            </property>
-                                        </item>
-                                        <item>
-                                            <property>
-                                                <name>text</name>
-                                                <string>Bottom</string>
-                                            </property>
-                                        </item>
-                                        <property stdset="1">
-                                            <name>name</name>
-                                            <cstring>minipageValign</cstring>
-                                        </property>
-                                    </widget>
-                                    <spacer>
-                                        <property>
-                                            <name>name</name>
-                                            <cstring>Spacer8</cstring>
-                                        </property>
-                                        <property stdset="1">
-                                            <name>orientation</name>
-                                            <enum>Horizontal</enum>
-                                        </property>
-                                        <property stdset="1">
-                                            <name>sizeType</name>
-                                            <enum>Expanding</enum>
-                                        </property>
-                                        <property>
-                                            <name>sizeHint</name>
-                                            <size>
-                                                <width>20</width>
-                                                <height>20</height>
-                                            </size>
-                                        </property>
-                                    </spacer>
-                                </hbox>
                             </widget>
                         </vbox>
                     </widget>
-                    <spacer row="2"  column="0" >
-                        <property>
-                            <name>name</name>
-                            <cstring>Spacer6</cstring>
-                        </property>
-                        <property stdset="1">
-                            <name>orientation</name>
-                            <enum>Vertical</enum>
-                        </property>
-                        <property stdset="1">
-                            <name>sizeType</name>
-                            <enum>Expanding</enum>
-                        </property>
-                        <property>
-                            <name>sizeHint</name>
-                            <size>
-                                <width>20</width>
-                                <height>20</height>
-                            </size>
-                        </property>
-                    </spacer>
                 </grid>
             </widget>
         </widget>
                     <class>QPushButton</class>
                     <property stdset="1">
                         <name>name</name>
-                        <cstring>defaultsPB</cstring>
+                        <cstring>restorePB</cstring>
                     </property>
                     <property stdset="1">
                         <name>text</name>
                     <class>QPushButton</class>
                     <property stdset="1">
                         <name>name</name>
-                        <cstring>applyPB</cstring>
+                        <cstring>okPB</cstring>
                     </property>
                     <property stdset="1">
                         <name>text</name>
-                        <string>&amp;Apply</string>
+                        <string>&amp;OK</string>
                     </property>
                 </widget>
                 <widget>
                     <class>QPushButton</class>
                     <property stdset="1">
                         <name>name</name>
-                        <cstring>okPB</cstring>
+                        <cstring>applyPB</cstring>
                     </property>
                     <property stdset="1">
                         <name>text</name>
-                        <string>&amp;OK</string>
-                    </property>
-                    <property stdset="1">
-                        <name>flat</name>
-                        <bool>false</bool>
-                    </property>
-                    <property stdset="1">
-                        <name>default</name>
-                        <bool>false</bool>
+                        <string>&amp;Apply</string>
                     </property>
                 </widget>
                 <widget>
                     <class>QPushButton</class>
                     <property stdset="1">
                         <name>name</name>
-                        <cstring>cancelPB</cstring>
+                        <cstring>closePB</cstring>
                     </property>
                     <property stdset="1">
                         <name>text</name>
-                        <string>&amp;Cancel</string>
-                    </property>
-                    <property stdset="1">
-                        <name>default</name>
-                        <bool>true</bool>
+                        <string>&amp;Close</string>
                     </property>
                 </widget>
             </hbox>
 </widget>
 <connections>
     <connection>
-        <sender>defaultsPB</sender>
-        <signal>clicked()</signal>
+        <sender>align</sender>
+        <signal>activated(int)</signal>
+        <receiver>QParagraphDialogBase</receiver>
+        <slot>change_adaptor()</slot>
+    </connection>
+    <connection>
+        <sender>linespacing</sender>
+        <signal>activated(int)</signal>
+        <receiver>QParagraphDialogBase</receiver>
+        <slot>change_adaptor()</slot>
+    </connection>
+    <connection>
+        <sender>linespacing</sender>
+        <signal>activated(int)</signal>
         <receiver>QParagraphDialogBase</receiver>
-        <slot>restore_adaptor()</slot>
+        <slot>enableLinespacingValue(int)</slot>
     </connection>
     <connection>
-        <sender>applyPB</sender>
-        <signal>clicked()</signal>
+        <sender>linespacingValue</sender>
+        <signal>textChanged(const QString&amp;)</signal>
         <receiver>QParagraphDialogBase</receiver>
-        <slot>apply_adaptor()</slot>
+        <slot>change_adaptor()</slot>
     </connection>
     <connection>
-        <sender>cancelPB</sender>
-        <signal>clicked()</signal>
+        <sender>noindent</sender>
+        <signal>toggled(bool)</signal>
         <receiver>QParagraphDialogBase</receiver>
-        <slot>cancel_adaptor()</slot>
+        <slot>change_adaptor()</slot>
     </connection>
     <connection>
-        <sender>okPB</sender>
-        <signal>clicked()</signal>
+        <sender>spacingAbove</sender>
+        <signal>activated(int)</signal>
         <receiver>QParagraphDialogBase</receiver>
-        <slot>ok_adaptor()</slot>
+        <slot>change_adaptor()</slot>
     </connection>
     <connection>
         <sender>spacingAbove</sender>
         <signal>activated(int)</signal>
         <receiver>QParagraphDialogBase</receiver>
-        <slot>enable_spacingAbove(int)</slot>
+        <slot>enableAbove(int)</slot>
+    </connection>
+    <connection>
+        <sender>valueAbove</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>QParagraphDialogBase</receiver>
+        <slot>change_adaptor()</slot>
+    </connection>
+    <connection>
+        <sender>unitAbove</sender>
+        <signal>activated(int)</signal>
+        <receiver>QParagraphDialogBase</receiver>
+        <slot>change_adaptor()</slot>
+    </connection>
+    <connection>
+        <sender>keepAbove</sender>
+        <signal>toggled(bool)</signal>
+        <receiver>QParagraphDialogBase</receiver>
+        <slot>change_adaptor()</slot>
     </connection>
     <connection>
         <sender>spacingBelow</sender>
         <signal>activated(int)</signal>
         <receiver>QParagraphDialogBase</receiver>
-        <slot>enable_spacingBelow(int)</slot>
+        <slot>enableBelow(int)</slot>
     </connection>
     <connection>
-        <sender>extraType</sender>
+        <sender>spacingBelow</sender>
         <signal>activated(int)</signal>
         <receiver>QParagraphDialogBase</receiver>
-        <slot>enable_minipageOptions(int)</slot>
+        <slot>change_adaptor()</slot>
+    </connection>
+    <connection>
+        <sender>valueBelow</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>QParagraphDialogBase</receiver>
+        <slot>change_adaptor()</slot>
+    </connection>
+    <connection>
+        <sender>valueBelow</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>QParagraphDialogBase</receiver>
+        <slot>change_adaptor()</slot>
     </connection>
     <connection>
-        <sender>extraType</sender>
+        <sender>unitBelow</sender>
         <signal>activated(int)</signal>
         <receiver>QParagraphDialogBase</receiver>
-        <slot>enable_extraOptions(int)</slot>
+        <slot>change_adaptor()</slot>
+    </connection>
+    <connection>
+        <sender>keepBelow</sender>
+        <signal>toggled(bool)</signal>
+        <receiver>QParagraphDialogBase</receiver>
+        <slot>change_adaptor()</slot>
+    </connection>
+    <connection>
+        <sender>lineAbove</sender>
+        <signal>toggled(bool)</signal>
+        <receiver>QParagraphDialogBase</receiver>
+        <slot>change_adaptor()</slot>
+    </connection>
+    <connection>
+        <sender>lineBelow</sender>
+        <signal>toggled(bool)</signal>
+        <receiver>QParagraphDialogBase</receiver>
+        <slot>change_adaptor()</slot>
+    </connection>
+    <connection>
+        <sender>pagebreakAbove</sender>
+        <signal>toggled(bool)</signal>
+        <receiver>QParagraphDialogBase</receiver>
+        <slot>change_adaptor()</slot>
     </connection>
-    <slot access="protected">apply_adaptor()</slot>
-    <slot access="protected">cancel_adaptor()</slot>
-    <slot access="protected">enable_extraOptions(int)</slot>
-    <slot access="protected">enable_minipageOptions(int)</slot>
-    <slot access="protected">enable_spacingAbove(int)</slot>
-    <slot access="protected">enable_spacingBelow(int)</slot>
-    <slot access="protected">ok_adaptor()</slot>
-    <slot access="protected">restore_adaptor()</slot>
+    <connection>
+        <sender>pagebreakBelow</sender>
+        <signal>toggled(bool)</signal>
+        <receiver>QParagraphDialogBase</receiver>
+        <slot>change_adaptor()</slot>
+    </connection>
+    <connection>
+        <sender>labelWidth</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>QParagraphDialogBase</receiver>
+        <slot>change_adaptor()</slot>
+    </connection>
+    <slot access="protected">change_adaptor()</slot>
+    <slot access="protected">enableLinespacingValue(int)</slot>
+    <slot access="protected">enableAbove(int)</slot>
+    <slot access="protected">enableBelow(int)</slot>
 </connections>
 <tabstops>
-    <tabstop>TabsParagraph</tabstop>
-    <tabstop>alignment</tabstop>
-    <tabstop>noIndent</tabstop>
+    <tabstop>paragraphTab</tabstop>
+    <tabstop>align</tabstop>
+    <tabstop>linespacing</tabstop>
+    <tabstop>linespacingValue</tabstop>
+    <tabstop>noindent</tabstop>
     <tabstop>spacingAbove</tabstop>
-    <tabstop>spacingAboveValue</tabstop>
-    <tabstop>spacingAbovePlus</tabstop>
-    <tabstop>spacingAboveMinus</tabstop>
-    <tabstop>spacingAboveKeep</tabstop>
-    <tabstop>spacingAboveValueUnit</tabstop>
-    <tabstop>spacingAbovePlusUnit</tabstop>
-    <tabstop>spacingAboveMinusUnit</tabstop>
+    <tabstop>valueAbove</tabstop>
+    <tabstop>unitAbove</tabstop>
+    <tabstop>keepAbove</tabstop>
     <tabstop>spacingBelow</tabstop>
-    <tabstop>spacingBelowValue</tabstop>
-    <tabstop>spacingBelowPlus</tabstop>
-    <tabstop>spacingBelowMinus</tabstop>
-    <tabstop>spacingBelowKeep</tabstop>
-    <tabstop>spacingBelowValueUnit</tabstop>
-    <tabstop>spacingBelowPlusUnit</tabstop>
-    <tabstop>spacingBelowMinusUnit</tabstop>
-    <tabstop>labelWidth</tabstop>
+    <tabstop>valueBelow</tabstop>
+    <tabstop>unitBelow</tabstop>
+    <tabstop>keepBelow</tabstop>
     <tabstop>lineAbove</tabstop>
     <tabstop>lineBelow</tabstop>
     <tabstop>pagebreakAbove</tabstop>
     <tabstop>pagebreakBelow</tabstop>
-    <tabstop>extraType</tabstop>
-    <tabstop>extraWidth</tabstop>
-    <tabstop>extraUnit</tabstop>
-    <tabstop>minipageStart</tabstop>
-    <tabstop>minipageHfill</tabstop>
-    <tabstop>minipageValign</tabstop>
-    <tabstop>cancelPB</tabstop>
+    <tabstop>labelWidth</tabstop>
+    <tabstop>restorePB</tabstop>
     <tabstop>okPB</tabstop>
     <tabstop>applyPB</tabstop>
-    <tabstop>defaultsPB</tabstop>
+    <tabstop>closePB</tabstop>
 </tabstops>
 </UI>