From: Jürgen Spitzmüller Date: Thu, 1 Apr 2004 16:06:34 +0000 (+0000) Subject: the fix for the enabling/disabling of the placement options (bug 1016) was not yet... X-Git-Tag: 1.6.10~15377 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=61290c38be84f3f2361c68c96aca3cbc851bb6e6;p=features.git the fix for the enabling/disabling of the placement options (bug 1016) was not yet perfect. It should be now. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8586 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/frontends/qt2/ChangeLog b/src/frontends/qt2/ChangeLog index 90f123992b..46294344ff 100644 --- a/src/frontends/qt2/ChangeLog +++ b/src/frontends/qt2/ChangeLog @@ -1,3 +1,8 @@ +2004-01-04 Jürgen Spitzmüller + + * floatplacement.[Ch]: correct fix for enabling of placement + values (bug 1016) + 2004-03-31 Angus Leeming * Dialogs2.C: diff --git a/src/frontends/qt2/floatplacement.C b/src/frontends/qt2/floatplacement.C index 0ae8258f27..d57cb29cd8 100644 --- a/src/frontends/qt2/floatplacement.C +++ b/src/frontends/qt2/floatplacement.C @@ -61,12 +61,7 @@ FloatPlacement::FloatPlacement(QWidget * parent, char * name) toplayout->addLayout(layout); connect(defaultsCB, SIGNAL(toggled(bool)), options, SLOT(setDisabled(bool))); - connect(defaultsCB, SIGNAL(toggled(bool)), ignoreCB, SLOT(setDisabled(bool))); - connect(defaultsCB, SIGNAL(toggled(bool)), pageCB, SLOT(setDisabled(bool))); - connect(defaultsCB, SIGNAL(toggled(bool)), heredefinitelyCB, SLOT(setDisabled(bool))); - connect(defaultsCB, SIGNAL(toggled(bool)), herepossiblyCB, SLOT(setDisabled(bool))); - connect(defaultsCB, SIGNAL(toggled(bool)), bottomCB, SLOT(setDisabled(bool))); - connect(defaultsCB, SIGNAL(toggled(bool)), topCB, SLOT(setDisabled(bool))); + connect(defaultsCB, SIGNAL(toggled(bool)), this, SLOT(defClicked())); connect(heredefinitelyCB, SIGNAL(clicked()), this, SLOT(heredefinitelyClicked())); connect(topCB, SIGNAL(clicked()), this, SLOT(tbhpClicked())); @@ -210,6 +205,12 @@ string const FloatPlacement::get() const } +void FloatPlacement::defClicked() +{ + checkAllowed(); +} + + void FloatPlacement::tbhpClicked() { heredefinitelyCB->setChecked(false); @@ -236,15 +237,9 @@ void FloatPlacement::heredefinitelyClicked() void FloatPlacement::spanClicked() { - bool const span(spanCB->isChecked()); - - if (!defaultsCB->isChecked()) { - herepossiblyCB->setEnabled(!span); - heredefinitelyCB->setEnabled(!span); - bottomCB->setEnabled(!span); - } + checkAllowed(); - if (!span) + if (!spanCB->isChecked()) return; herepossiblyCB->setChecked(false); @@ -255,24 +250,25 @@ void FloatPlacement::spanClicked() void FloatPlacement::sidewaysClicked() { - bool const sideways(sidewaysCB->isChecked()); - bool const span(spanCB->isChecked()); + checkAllowed(); +} + + +void FloatPlacement::checkAllowed() +{ bool const defaults(defaultsCB->isChecked()); bool ignore(topCB->isChecked()); ignore |= bottomCB->isChecked(); ignore |= pageCB->isChecked(); ignore |= herepossiblyCB->isChecked(); + bool const span(spanCB->isChecked()); + bool const sideways(sidewaysCB->isChecked()); defaultsCB->setEnabled(!sideways); topCB->setEnabled(!sideways && !defaults); - bottomCB->setEnabled(!sideways && !defaults); + bottomCB->setEnabled(!sideways && !defaults && !span); pageCB->setEnabled(!sideways && !defaults); - spanCB->setEnabled(!sideways); ignoreCB->setEnabled(!sideways && !defaults && ignore); - herepossiblyCB->setEnabled(!sideways && !defaults); - heredefinitelyCB->setEnabled(!sideways && !defaults); - if (!sideways && !defaults) { - herepossiblyCB->setEnabled(!span); - heredefinitelyCB->setEnabled(!span); - } + herepossiblyCB->setEnabled(!sideways && !defaults && !span); + heredefinitelyCB->setEnabled(!sideways && !defaults && !span); } diff --git a/src/frontends/qt2/floatplacement.h b/src/frontends/qt2/floatplacement.h index ae56933fe0..2dcb703d88 100644 --- a/src/frontends/qt2/floatplacement.h +++ b/src/frontends/qt2/floatplacement.h @@ -28,11 +28,13 @@ public: void set(InsetFloatParams const & params); void set(std::string const & placement); + void checkAllowed(); std::string const get(bool & wide, bool & sideways) const; std::string const get() const; public slots: + void defClicked(); void tbhpClicked(); void heredefinitelyClicked(); void spanClicked();