]> git.lyx.org Git - lyx.git/blob - src/frontends/qt2/QTexinfo.C
Some string(widget->text()) fixes. Weirdness
[lyx.git] / src / frontends / qt2 / QTexinfo.C
1 /**
2  * \file QTexinfo.C
3  * This file is part of LyX, the document processor.
4  * Licence details can be found in the file COPYING.
5  *
6  * \author Edwin Leuven
7  *
8  * Full author contact details are available in file CREDITS
9  */
10
11 #include <config.h>
12
13 #ifdef __GNUG__
14 #pragma implementation
15 #endif
16
17 #include "ControlTexinfo.h"
18 #include "QTexinfoDialog.h"
19 #include "QTexinfo.h"
20 #include "Qt2BC.h"
21 #include "gettext.h"
22 #include "helper_funcs.h"
23
24 #include "support/lstrings.h"
25
26 #include <qlistbox.h>
27 #include <qpushbutton.h>
28 #include <qcheckbox.h>
29
30 using std::vector;
31
32 typedef Qt2CB<ControlTexinfo, Qt2DB<QTexinfoDialog> > base_class;
33
34
35 QTexinfo::QTexinfo()
36         : base_class(_("LaTeX Information")), warningPosted(false), activeStyle(ControlTexinfo::cls)
37 {
38 }
39
40
41 void QTexinfo::build_dialog()
42 {
43         dialog_.reset(new QTexinfoDialog(this));
44
45         updateStyles(ControlTexinfo::cls);
46
47         bc().setCancel(dialog_->closePB);
48 }
49
50
51 void QTexinfo::updateStyles(ControlTexinfo::texFileSuffix whichStyle)
52 {
53         string const fstr =  controller().getContents(whichStyle, true);
54
55         switch (whichStyle) {
56             case ControlTexinfo::bst:
57                 bst_ = getVectorFromString(fstr, "\n");
58                 break;
59             case ControlTexinfo::cls:
60                 cls_ = getVectorFromString(fstr, "\n");
61                 break;
62             case ControlTexinfo::sty:
63                 sty_ = getVectorFromString(fstr, "\n");
64                 break;
65         }
66
67         dialog_->fileList->clear();
68
69         bool const withFullPath = dialog_->path->isChecked();
70         string const str =  controller().getContents(whichStyle, withFullPath);
71         vector<string> flist = getVectorFromString(str, "\n");
72         for (vector<string>::const_iterator fitem = flist.begin();
73                 fitem != flist.end(); ++fitem) {
74                 dialog_->fileList->insertItem((*fitem).c_str());
75         }
76
77         activeStyle = whichStyle;
78 }
79
80
81 void QTexinfo::updateStyles()
82 {
83         updateStyles(activeStyle);
84 }