3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
6 * \author Angus Leeming
7 * \author Martin Vermeer
8 * \author Jürgen Spitzmüller
10 * Full author contact details are available in file CREDITS.
15 #include "GuiBranch.h"
17 #include "qt_helpers.h"
18 #include "BranchList.h"
21 #include "BufferParams.h"
22 #include "BranchList.h"
23 #include "FuncRequest.h"
25 #include "insets/InsetBranch.h"
27 #include <QPushButton>
28 #include <QCloseEvent>
36 GuiBranch::GuiBranch(GuiView & lv)
37 : GuiDialog(lv, "branch")
40 setViewTitle(_("Branch Settings"));
42 connect(okPB, SIGNAL(clicked()), this, SLOT(slotOK()));
43 connect(closePB, SIGNAL(clicked()), this, SLOT(slotClose()));
44 connect(branchCO, SIGNAL(activated(int)), this, SLOT(change_adaptor()));
46 bc().setPolicy(ButtonPolicy::NoRepeatedApplyReadOnlyPolicy);
48 bc().setCancel(closePB);
52 void GuiBranch::closeEvent(QCloseEvent * e)
59 void GuiBranch::change_adaptor()
65 void GuiBranch::updateContents()
67 typedef BranchList::const_iterator const_iterator;
69 BranchList const & branchlist = buffer().params().branchlist();
70 docstring const cur_branch = params_.branch;
74 const_iterator const begin = branchlist.begin();
75 const_iterator const end = branchlist.end();
78 for (const_iterator it = begin; it != end; ++it, ++count) {
79 docstring const & branch = it->getBranch();
80 branchCO->addItem(toqstr(branch));
82 if (cur_branch == branch)
85 branchCO->setCurrentIndex(id);
89 void GuiBranch::applyView()
91 params_.branch = qstring_to_ucs4(branchCO->currentText());
95 bool GuiBranch::initialiseParams(string const & data)
97 InsetBranchMailer::string2params(data, params_);
102 void GuiBranch::clearParams()
104 params_ = InsetBranchParams();
108 void GuiBranch::dispatchParams()
110 dispatch(FuncRequest(getLfun(), InsetBranchMailer::params2string(params_)));
114 Dialog * createGuiBranch(GuiView & lv) { return new GuiBranch(lv); }
117 } // namespace frontend
120 #include "GuiBranch_moc.cpp"