3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
8 * Full author contact details are available in file CREDITS.
14 #include "qt_helpers.h"
17 #include <QCloseEvent>
19 #include <QPushButton>
25 GuiURLDialog::GuiURLDialog(UrlView * form)
30 connect(okPB, SIGNAL(clicked()), form_, SLOT(slotOK()));
31 connect(closePB, SIGNAL(clicked()), form_, SLOT(slotClose()));
32 connect(urlED, SIGNAL(textChanged(const QString &)),
33 this, SLOT(changed_adaptor()));
34 connect(hyperlinkCB, SIGNAL(clicked()),
35 this, SLOT(changed_adaptor()));
36 connect(nameED, SIGNAL(textChanged(const QString &)),
37 this, SLOT(changed_adaptor()));
43 void GuiURLDialog::changed_adaptor()
49 void GuiURLDialog::closeEvent(QCloseEvent * e)
57 UrlView::UrlView(GuiDialog & parent)
58 : GuiView<GuiURLDialog>(parent, _("URL"))
63 void UrlView::build_dialog()
65 dialog_.reset(new GuiURLDialog(this));
67 bc().setOK(dialog_->okPB);
68 bc().setCancel(dialog_->closePB);
69 bc().addReadOnly(dialog_->urlED);
70 bc().addReadOnly(dialog_->nameED);
71 bc().addReadOnly(dialog_->hyperlinkCB);
75 void UrlView::update_contents()
77 InsetCommandParams const & params = controller().params();
79 dialog_->urlED->setText(toqstr(params["target"]));
80 dialog_->nameED->setText(toqstr(params["name"]));
81 dialog_->hyperlinkCB->setChecked(params.getCmdName() != "url");
83 bc().setValid(isValid());
89 InsetCommandParams & params = controller().params();
91 params["target"] = qstring_to_ucs4(dialog_->urlED->text());
92 params["name"] = qstring_to_ucs4(dialog_->nameED->text());
94 if (dialog_->hyperlinkCB->isChecked())
95 params.setCmdName("htmlurl");
97 params.setCmdName("url");
101 bool UrlView::isValid()
103 QString const u = dialog_->urlED->text();
104 QString const n = dialog_->nameED->text();
106 return !u.isEmpty() || !n.isEmpty();
109 } // namespace frontend
113 #include "GuiURL_moc.cpp"