]> git.lyx.org Git - lyx.git/blob - src/frontends/qt2/QTexinfo.C
Lots and lots of little trivial bits.
[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 #include <vector>
14
15 #ifdef __GNUG__
16 #pragma implementation
17 #endif
18
19 #include "ControlTexinfo.h"
20 #include "QTexinfoDialog.h"
21 #include "QTexinfo.h"
22 #include "Qt2BC.h"
23 #include "gettext.h"
24 #include "helper_funcs.h"
25
26 #include "support/lstrings.h"
27  
28 #include <qlistbox.h>
29 #include <qpushbutton.h>
30 #include <qcheckbox.h>
31
32 using std::vector;
33
34 typedef Qt2CB<ControlTexinfo, Qt2DB<QTexinfoDialog> > base_class;
35
36 QTexinfo::QTexinfo()
37         : base_class(_("LaTeX Information")), warningPosted(false), activeStyle(ControlTexinfo::cls)
38
39 {
40 }
41
42
43 void QTexinfo::build_dialog()
44 {
45         dialog_.reset(new QTexinfoDialog(this));
46
47         updateStyles(ControlTexinfo::cls);
48
49         bc().setCancel(dialog_->closePB);
50 }
51
52
53 void QTexinfo::updateStyles(ControlTexinfo::texFileSuffix whichStyle)
54 {
55         string const fstr =  controller().getContents(whichStyle, true);
56         
57         switch (whichStyle) {
58             case ControlTexinfo::bst: 
59                 bst_ = getVectorFromString(fstr, "\n");
60                 break;
61             case ControlTexinfo::cls:
62                 cls_ = getVectorFromString(fstr, "\n");
63                 break;
64             case ControlTexinfo::sty:
65                 sty_ = getVectorFromString(fstr, "\n");
66                 break;
67         }
68
69         dialog_->fileList->clear();
70
71         bool const withFullPath = dialog_->path->isChecked();
72         string const str =  controller().getContents(whichStyle, withFullPath);
73         vector<string> flist = getVectorFromString(str, "\n");
74         for (vector<string>::const_iterator fitem = flist.begin();
75                 fitem != flist.end(); ++fitem) {
76                 dialog_->fileList->insertItem((*fitem).c_str());
77         }
78
79         activeStyle = whichStyle;
80 }
81
82
83 void QTexinfo::updateStyles()
84 {
85         updateStyles(activeStyle);
86 }
87
88
89
90
91
92