X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiWrap.cpp;h=c2e53575f80adc2fe4e5ee590084bfe6e0338bee;hb=425d092204118ea6c24c28e85fdf03fcf2bb51a4;hp=66c7d91f2d3d06a022d1e98ad18059c5befc637c;hpb=33030d3ed85e29cd906947c0dee42c2ff1b24909;p=lyx.git diff --git a/src/frontends/qt4/GuiWrap.cpp b/src/frontends/qt4/GuiWrap.cpp index 66c7d91f2d..c2e53575f8 100644 --- a/src/frontends/qt4/GuiWrap.cpp +++ b/src/frontends/qt4/GuiWrap.cpp @@ -3,7 +3,7 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author Jürgen Spitzmüller + * \author Jürgen Spitzmüller * * Full author contact details are available in file CREDITS. */ @@ -17,38 +17,35 @@ #include "Validator.h" #include "FuncRequest.h" -#include "insets/InsetWrap.h" - +#include "support/gettext.h" #include "support/lstrings.h" #include -#include #include -using std::string; - +using namespace std; namespace lyx { namespace frontend { -GuiWrap::GuiWrap(LyXView & lv) - : GuiDialog(lv, "wrap"), Controller(this) +GuiWrap::GuiWrap(GuiView & lv) + : GuiDialog(lv, "wrap", qt_("Wrap Float Settings")) { setupUi(this); - setViewTitle(_("Wrap Float Settings")); - setController(this, false); connect(restorePB, SIGNAL(clicked()), this, SLOT(slotRestore())); connect(okPB, SIGNAL(clicked()), this, SLOT(slotOK())); connect(applyPB, SIGNAL(clicked()), this, SLOT(slotApply())); connect(closePB, SIGNAL(clicked()), this, SLOT(slotClose())); + connect(valignCO, SIGNAL(highlighted(QString)), + this, SLOT(change_adaptor())); + connect(floatCB, SIGNAL(stateChanged(int)), + this, SLOT(change_adaptor())); connect(widthED, SIGNAL(textChanged(QString)), this, SLOT(change_adaptor())); connect(widthUnitLC, SIGNAL(selectionChanged(lyx::Length::UNIT)), this, SLOT(change_adaptor())); - connect(valignCO, SIGNAL(highlighted(QString)), - this, SLOT(change_adaptor())); connect(overhangCB, SIGNAL(stateChanged(int)), this, SLOT(change_adaptor())); connect(overhangED, SIGNAL(textChanged(QString)), @@ -71,9 +68,10 @@ GuiWrap::GuiWrap(LyXView & lv) bc().setApply(applyPB); bc().setCancel(closePB); + bc().addReadOnly(valignCO); + bc().addReadOnly(floatCB); bc().addReadOnly(widthED); bc().addReadOnly(widthUnitLC); - bc().addReadOnly(valignCO); bc().addReadOnly(overhangCB); bc().addReadOnly(overhangED); bc().addReadOnly(overhangUnitLC); @@ -86,13 +84,6 @@ GuiWrap::GuiWrap(LyXView & lv) } -void GuiWrap::closeEvent(QCloseEvent * e) -{ - slotClose(); - e->accept(); -} - - void GuiWrap::change_adaptor() { changed(); @@ -126,32 +117,47 @@ void GuiWrap::applyView() // in InsetWrap.cpp params_.lines = 0; + bool floatOn = false; + if (floatCB->checkState() == Qt::Checked) + floatOn = true; switch (valignCO->currentIndex()) { case 0: - params_.placement = "o"; + if (floatOn) + params_.placement = "O"; + else + params_.placement = "o"; break; case 1: - params_.placement = "i"; + if (floatOn) + params_.placement = "I"; + else + params_.placement = "i"; break; case 2: - params_.placement = "l"; + if (floatOn) + params_.placement = "L"; + else + params_.placement = "l"; break; case 3: - params_.placement = "r"; + if (floatOn) + params_.placement = "R"; + else + params_.placement = "r"; break; } } -void GuiWrap::updateContents() +void GuiWrap::paramsToDialog(InsetWrapParams const & params) { // 0pt is a legal width now, it yields a // wrapfloat just wide enough for the contents. - Length len_w = params_.width; + Length len_w = params.width; widthED->setText(QString::number(len_w.value())); widthUnitLC->setCurrentItem(len_w.unit()); - Length len_o(params_.overhang); + Length len_o(params.overhang); overhangED->setText(QString::number(len_o.value())); overhangUnitLC->setCurrentItem(len_o.unit()); if (len_o.value() == 0) @@ -159,27 +165,32 @@ void GuiWrap::updateContents() else overhangCB->setCheckState(Qt::Checked); - linesSB->setValue(params_.lines); - if (params_.lines == 0) + linesSB->setValue(params.lines); + if (params.lines == 0) linesCB->setCheckState(Qt::Unchecked); else linesCB->setCheckState(Qt::Checked); int item = 0; - if (params_.placement == "i") + if (params.placement == "i" || params.placement == "I") item = 1; - else if (params_.placement == "l") + else if (params.placement == "l" || params.placement == "L") item = 2; - else if (params_.placement == "r") + else if (params.placement == "r" || params.placement == "R") item = 3; valignCO->setCurrentIndex(item); + + if (params.placement == "O" || params.placement == "I" + || params.placement == "L" || params.placement == "R") + floatCB->setCheckState(Qt::Checked); } bool GuiWrap::initialiseParams(string const & data) { - InsetWrapMailer::string2params(data, params_); + InsetWrap::string2params(data, params_); + paramsToDialog(params_); return true; } @@ -192,16 +203,16 @@ void GuiWrap::clearParams() void GuiWrap::dispatchParams() { - string const lfun = InsetWrapMailer::params2string(params_); + string const lfun = InsetWrap::params2string(params_); dispatch(FuncRequest(getLfun(), lfun)); } -Dialog * createGuiWrap(LyXView & lv) { return new GuiWrap(lv); } +Dialog * createGuiWrap(GuiView & lv) { return new GuiWrap(lv); } } // namespace frontend } // namespace lyx -#include "GuiWrap_moc.cpp" +#include "moc_GuiWrap.cpp"