]> git.lyx.org Git - lyx.git/blob - src/frontends/qt2/QURL.C
The initial merge of the Qt frontend, and the necessary compile fixes.
[lyx.git] / src / frontends / qt2 / QURL.C
1 /**
2  * \file QURL.C
3  * Copyright 2001 the LyX Team
4  * Read the file COPYING
5  *
6  * \author John Levon
7  */
8
9 #include <config.h>
10
11 #include "ControlUrl.h"
12 #include "debug.h"
13 #include "gettext.h"
14  
15 #include "QURL.h"
16 #include "QURLDialog.h"
17 #include "Qt2BC.h"
18
19 #include <qcheckbox.h>
20 #include <qpushbutton.h>
21 #include <qlineedit.h>
22
23 typedef Qt2CB<ControlUrl, Qt2DB<QURLDialog> > base_class;
24
25 QURL::QURL(ControlUrl & c)
26         : base_class(c, _("URL"))
27 {
28 }
29
30
31 void QURL::build_dialog()
32 {
33         dialog_.reset(new QURLDialog(this));
34
35         bc().setOK(dialog_->okPB);
36         bc().setCancel(dialog_->closePB);
37         bc().addReadOnly(dialog_->urlED);
38         bc().addReadOnly(dialog_->nameED);
39         bc().addReadOnly(dialog_->hyperlinkCB);
40 }
41
42
43 void QURL::update_contents()
44 {
45         dialog_->urlED->setText(controller().params().getContents().c_str());
46         dialog_->nameED->setText(controller().params().getOptions().c_str());
47         dialog_->hyperlinkCB->setChecked(controller().params().getCmdName() != "url");
48 }
49
50
51 void QURL::apply()
52 {
53         controller().params().setContents(dialog_->urlED->text().latin1());
54         controller().params().setOptions(dialog_->nameED->text().latin1());
55
56         if (dialog_->hyperlinkCB->isChecked())
57                 controller().params().setCmdName("htmlurl");
58         else
59                 controller().params().setCmdName("url");
60 }
61
62
63 bool QURL::isValid()
64 {
65         string const u(dialog_->urlED->text().latin1());
66         string const n(dialog_->nameED->text().latin1());
67
68         return !u.empty() && !n.empty();
69 }