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
16 #pragma implementation
19 #include "ControlTexinfo.h"
20 #include "QTexinfoDialog.h"
24 #include "helper_funcs.h"
26 #include "support/lstrings.h"
29 #include <qpushbutton.h>
30 #include <qcheckbox.h>
34 typedef Qt2CB<ControlTexinfo, Qt2DB<QTexinfoDialog> > base_class;
37 : base_class(_("LaTeX Information")), warningPosted(false), activeStyle(ControlTexinfo::cls)
43 void QTexinfo::build_dialog()
45 dialog_.reset(new QTexinfoDialog(this));
47 updateStyles(ControlTexinfo::cls);
49 bc().setCancel(dialog_->closePB);
53 void QTexinfo::updateStyles(ControlTexinfo::texFileSuffix whichStyle)
55 string const fstr = controller().getContents(whichStyle, true);
58 case ControlTexinfo::bst:
59 bst_ = getVectorFromString(fstr, "\n");
61 case ControlTexinfo::cls:
62 cls_ = getVectorFromString(fstr, "\n");
64 case ControlTexinfo::sty:
65 sty_ = getVectorFromString(fstr, "\n");
69 dialog_->fileList->clear();
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());
79 activeStyle = whichStyle;
83 void QTexinfo::updateStyles()
85 updateStyles(activeStyle);