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 "ControlTexinfo.h"
15 #include "QTexinfoDialog.h"
18 #include "qt_helpers.h"
19 #include "helper_funcs.h"
21 #include "support/lstrings.h"
24 #include <qpushbutton.h>
25 #include <qcheckbox.h>
29 typedef Qt2CB<ControlTexinfo, Qt2DB<QTexinfoDialog> > base_class;
33 : base_class(qt_("LaTeX Information")), warningPosted(false), activeStyle(ControlTexinfo::cls)
38 void QTexinfo::build_dialog()
40 dialog_.reset(new QTexinfoDialog(this));
42 updateStyles(ControlTexinfo::cls);
44 bc().setCancel(dialog_->closePB);
48 void QTexinfo::updateStyles(ControlTexinfo::texFileSuffix whichStyle)
50 string const fstr = controller().getContents(whichStyle, true);
53 case ControlTexinfo::bst:
54 bst_ = getVectorFromString(fstr, "\n");
56 case ControlTexinfo::cls:
57 cls_ = getVectorFromString(fstr, "\n");
59 case ControlTexinfo::sty:
60 sty_ = getVectorFromString(fstr, "\n");
64 dialog_->fileList->clear();
66 bool const withFullPath = dialog_->path->isChecked();
67 string const str = controller().getContents(whichStyle, withFullPath);
68 vector<string> flist = getVectorFromString(str, "\n");
69 for (vector<string>::const_iterator fitem = flist.begin();
70 fitem != flist.end(); ++fitem) {
71 dialog_->fileList->insertItem(toqstr((*fitem)));
74 activeStyle = whichStyle;
78 void QTexinfo::updateStyles()
80 updateStyles(activeStyle);