X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiHyperlink.cpp;h=8323b65ff3d3f1f625f602fbfa9f53bbfcc5bdca;hb=425d092204118ea6c24c28e85fdf03fcf2bb51a4;hp=b94e08138d4b5c13fe2f75cf7674f60420a91ede;hpb=2749683873442414d25aa097efe6f13b9e222bf3;p=lyx.git diff --git a/src/frontends/qt4/GuiHyperlink.cpp b/src/frontends/qt4/GuiHyperlink.cpp index b94e08138d..8323b65ff3 100644 --- a/src/frontends/qt4/GuiHyperlink.cpp +++ b/src/frontends/qt4/GuiHyperlink.cpp @@ -18,7 +18,6 @@ #include "insets/InsetCommand.h" #include -#include #include #include @@ -26,11 +25,11 @@ namespace lyx { namespace frontend { -GuiHyperlink::GuiHyperlink(LyXView & lv) - : GuiCommand(lv, "href") +GuiHyperlink::GuiHyperlink(GuiView & lv) + : GuiDialog(lv, "href", qt_("Hyperlink")), + params_(insetCode("href")) { setupUi(this); - setViewTitle( _("Hyperlink")); connect(okPB, SIGNAL(clicked()), this, SLOT(slotOK())); connect(closePB, SIGNAL(clicked()), this, SLOT(slotClose())); @@ -47,6 +46,8 @@ GuiHyperlink::GuiHyperlink(LyXView & lv) setFocusProxy(targetED); + bc().setPolicy(ButtonPolicy::OkCancelReadOnlyPolicy); + bc().setOK(okPB); bc().setCancel(closePB); bc().addReadOnly(targetED); @@ -63,14 +64,7 @@ void GuiHyperlink::changed_adaptor() } -void GuiHyperlink::closeEvent(QCloseEvent * e) -{ - slotClose(); - e->accept(); -} - - -void GuiHyperlink::updateContents() +void GuiHyperlink::paramsToDialog(InsetCommandParams const & /*icp*/) { targetED->setText(toqstr(params_["target"])); nameED->setText(toqstr(params_["name"])); @@ -100,18 +94,32 @@ void GuiHyperlink::applyView() bool GuiHyperlink::isValid() { - QString const u = targetED->text(); - QString const n = nameED->text(); + return !targetED->text().isEmpty() || !nameED->text().isEmpty(); +} + + +bool GuiHyperlink::initialiseParams(std::string const & data) +{ + // The name passed with LFUN_INSET_APPLY is also the name + // used to identify the mailer. + InsetCommand::string2params("href", data, params_); + paramsToDialog(params_); + return true; +} + - return !u.isEmpty() || !n.isEmpty(); +void GuiHyperlink::dispatchParams() +{ + std::string const lfun = InsetCommand::params2string("href", params_); + dispatch(FuncRequest(getLfun(), lfun)); } -Dialog * createGuiHyperlink(LyXView & lv) { return new GuiHyperlink(lv); } +Dialog * createGuiHyperlink(GuiView & lv) { return new GuiHyperlink(lv); } } // namespace frontend } // namespace lyx -#include "GuiHyperlink_moc.cpp" +#include "moc_GuiHyperlink.cpp"