From 21c4d09a19e0a88b4db173aada865d33ad4b172d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20St=C3=B6hr?= Date: Mon, 24 Sep 2007 22:35:00 +0000 Subject: [PATCH] GuiWrap: make the optional options really optional by checkboxes in the dialog git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20478 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/qt4/GuiWrap.cpp | 47 +++++- src/frontends/qt4/GuiWrap.h | 4 + src/frontends/qt4/ui/WrapUi.ui | 295 +++++++++++++++++++-------------- 3 files changed, 218 insertions(+), 128 deletions(-) diff --git a/src/frontends/qt4/GuiWrap.cpp b/src/frontends/qt4/GuiWrap.cpp index ddbe458b1c..d11fce7d06 100644 --- a/src/frontends/qt4/GuiWrap.cpp +++ b/src/frontends/qt4/GuiWrap.cpp @@ -49,13 +49,20 @@ GuiWrapDialog::GuiWrapDialog(LyXView & lv) this, SLOT(change_adaptor())); connect(valignCO, SIGNAL(highlighted(const QString &)), this, SLOT(change_adaptor())); + connect(overhangCB, SIGNAL(stateChanged(int)), + this, SLOT(change_adaptor())); connect(overhangED, SIGNAL(textChanged(const QString &)), this, SLOT(change_adaptor())); connect(overhangUnitLC, SIGNAL(selectionChanged(lyx::Length::UNIT)), this, SLOT(change_adaptor())); + connect(linesCB, SIGNAL(stateChanged(int)), + this, SLOT(change_adaptor())); connect(linesSB, SIGNAL(valueChanged(int)), this, SLOT(change_adaptor())); + connect(overhangCB, SIGNAL(stateChanged(int)), this, SLOT(overhangChecked(int))); + connect(linesCB, SIGNAL(stateChanged(int)), this, SLOT(linesChecked(int))); + widthED->setValidator(unsignedLengthValidator(widthED)); // FIXME: // overhang can be negative, but the unsignedLengthValidator allows this @@ -70,13 +77,15 @@ GuiWrapDialog::GuiWrapDialog(LyXView & lv) bc().addReadOnly(widthED); bc().addReadOnly(widthUnitLC); bc().addReadOnly(valignCO); + bc().addReadOnly(overhangCB); bc().addReadOnly(overhangED); bc().addReadOnly(overhangUnitLC); + bc().addReadOnly(linesCB); bc().addReadOnly(linesSB); // initialize the length validator bc().addCheckedLineEdit(widthED, widthLA); - bc().addCheckedLineEdit(overhangED, overhangLA); + bc().addCheckedLineEdit(overhangED, overhangCB); } @@ -99,6 +108,26 @@ void GuiWrapDialog::change_adaptor() } +void GuiWrapDialog::overhangChecked(int checkState) +{ + if (checkState == Qt::Checked) { + overhangED->setEnabled(true); + overhangUnitLC->setEnabled(true); + } else { + overhangED->setEnabled(false); + overhangUnitLC->setEnabled(false); + } +} + +void GuiWrapDialog::linesChecked(int checkState) +{ + if (checkState == Qt::Checked) + linesSB->setEnabled(true); + else + linesSB->setEnabled(false); +} + + void GuiWrapDialog::applyView() { double const width_value = widthED->text().toDouble(); @@ -113,8 +142,20 @@ void GuiWrapDialog::applyView() InsetWrapParams & params = controller().params(); params.width = Length(width_value, widthUnit); - params.overhang = Length(overhang_value, overhangUnit); - params.lines = linesSB->value(); + + if (overhangCB->checkState() == Qt::Checked) + params.overhang = Length(overhang_value, overhangUnit); + else + // when value is "0" the option is not set in the LaTeX-output + // in InsetWrap.cpp + params.overhang = Length("0in"); + + if (linesCB->checkState() == Qt::Checked) + params.lines = linesSB->value(); + else + // when value is "0" the option is not set in the LaTeX-output + // in InsetWrap.cpp + params.lines = 0; switch (valignCO->currentIndex()) { case 0: diff --git a/src/frontends/qt4/GuiWrap.h b/src/frontends/qt4/GuiWrap.h index 9fa79f2e5b..7fc097b396 100644 --- a/src/frontends/qt4/GuiWrap.h +++ b/src/frontends/qt4/GuiWrap.h @@ -28,6 +28,10 @@ public: private Q_SLOTS: void change_adaptor(); + /// overhang checkbox + void overhangChecked(int); + /// lines checkbox + void linesChecked(int); private: void closeEvent(QCloseEvent * e); diff --git a/src/frontends/qt4/ui/WrapUi.ui b/src/frontends/qt4/ui/WrapUi.ui index 6c3d47e1db..424202e72f 100644 --- a/src/frontends/qt4/ui/WrapUi.ui +++ b/src/frontends/qt4/ui/WrapUi.ui @@ -15,37 +15,6 @@ true - - - - 10 - 110 - 221 - 22 - - - - - 0 - - - 6 - - - - - &Number of needed lines (optional): - - - valignCO - - - - - - - - @@ -155,62 +124,13 @@ - - - - 292 - 11 - 98 - 16 - - - - &Placement: - - - valignCO - - - - - - 292 - 32 - 98 - 18 - - - - Vertical alignment - - - - Outer (default) - - - - - Inner - - - - - Left - - - - - Right - - - - + 10 10 - 271 - 88 + 281 + 42 @@ -235,18 +155,8 @@ - - - - &Width: - - - widthED - - - - - + + &Unit: @@ -255,31 +165,6 @@ - - - - - 1 - 0 - 0 - 0 - - - - Width value - - - - - - - &Overhang (optional): - - - widthED - - - @@ -300,12 +185,164 @@ Qt::StrongFocus - Units of width value + Unit of width value + + + + &Width: + + + widthED + + + + + + + + + 303 + 11 + 100 + 41 + + + + + 0 + + + 6 + + + + + &Placement: + + + valignCO + + + + + + + Vertical alignment + + + + Outer (default) + + + + + Inner + + + + + Left + + + + + Right + + + + + + + + + + 10 + 110 + 242 + 22 + + + + + 0 + + + 6 + - + + + false + + + number of needed lines + + + + + + + use number of lines + + + &Number of needed lines (optional): + + + + + + + + + 11 + 60 + 281 + 46 + + + + + 0 + + + 6 + + + + + use overhang + + + &Overhang (optional): + + + false + + + + + + + false + + + + 1 + 0 + 0 + 0 + + + + Overhang value + + + + + &Unit: @@ -314,8 +351,11 @@ - + + + false + 13 @@ -334,7 +374,7 @@ Qt::StrongFocus - Units of width value + Unit of overhang value @@ -352,10 +392,15 @@ widthED widthUnitLC valignCO + overhangCB + overhangED + overhangUnitLC + linesCB + linesSB restorePB okPB - applyPB closePB + applyPB qt_helpers.h