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 #pragma implementation
17 #include "ControlTexinfo.h"
18 #include "QTexinfoDialog.h"
22 #include "helper_funcs.h"
24 #include "support/lstrings.h"
27 #include <qpushbutton.h>
28 #include <qcheckbox.h>
32 typedef Qt2CB<ControlTexinfo, Qt2DB<QTexinfoDialog> > base_class;
36 : base_class(_("LaTeX Information")), warningPosted(false), activeStyle(ControlTexinfo::cls)
41 void QTexinfo::build_dialog()
43 dialog_.reset(new QTexinfoDialog(this));
45 updateStyles(ControlTexinfo::cls);
47 bc().setCancel(dialog_->closePB);
51 void QTexinfo::updateStyles(ControlTexinfo::texFileSuffix whichStyle)
53 string const fstr = controller().getContents(whichStyle, true);
56 case ControlTexinfo::bst:
57 bst_ = getVectorFromString(fstr, "\n");
59 case ControlTexinfo::cls:
60 cls_ = getVectorFromString(fstr, "\n");
62 case ControlTexinfo::sty:
63 sty_ = getVectorFromString(fstr, "\n");
67 dialog_->fileList->clear();
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());
77 activeStyle = whichStyle;
81 void QTexinfo::updateStyles()
83 updateStyles(activeStyle);