biblioModule->bibtexCO->clear();
biblioModule->bibtexCO->addItem(qt_("Default"), QString("default"));
- for (vector<string>::const_iterator it = lyxrc.bibtex_alternatives.begin();
+ for (set<string>::const_iterator it = lyxrc.bibtex_alternatives.begin();
it != lyxrc.bibtex_alternatives.end(); ++it) {
QString const command = toqstr(*it).left(toqstr(*it).indexOf(" "));
biblioModule->bibtexCO->addItem(command, command);
branchesModule = new GuiBranches;
connect(branchesModule, SIGNAL(changed()),
this, SLOT(change_adaptor()));
+ connect(branchesModule, SIGNAL(renameBranches(docstring const &, docstring const &)),
+ this, SLOT(branchesRename(docstring const &, docstring const &)));
+ updateUnknownBranches();
// preamble
preambleModule = new PreambleModule;
break;
case 3:
bp_.spacing().set(Spacing::Other,
- fromqstr(textLayoutModule->lspacingLE->text()));
+ widgetToDoubleStr(textLayoutModule->lspacingLE));
break;
}
bp_.footskip = widgetsToLength(m->footskipLE, m->footskipUnit);
bp_.columnsep = widgetsToLength(m->columnsepLE, m->columnsepUnit);
+ // branches
branchesModule->apply(bp_);
// PDF support
textLayoutModule->lspacingCO->setCurrentIndex(nitem);
if (bp_.spacing().getSpace() == Spacing::Other) {
- textLayoutModule->lspacingLE->setText(
- toqstr(bp_.spacing().getValueAsString()));
+ doubleToWidget(textLayoutModule->lspacingLE,
+ bp_.spacing().getValueAsString());
}
setLSpacing(nitem);
lengthToWidgets(m->columnsepLE, m->columnsepUnit,
bp_.columnsep, defaultUnit);
+ // branches
+ updateUnknownBranches();
branchesModule->update(bp_);
// PDF support
// Make sure that the bc is in the INITIAL state
if (bc().policy().buttonStatus(ButtonPolicy::RESTORE))
bc().restore();
+
+ // clear changed branches cache
+ changedBranches_.clear();
}
dispatch(FuncRequest(LFUN_ALL_INSETS_TOGGLE,
"assign branch"));
}
+ // rename branches in the document
+ executeBranchRenaming();
+ // and clear changed branches cache
+ changedBranches_.clear();
+
// Generate the colours requested by indices.
IndicesList & indiceslist = params().indiceslist();
if (!indiceslist.empty()) {
IndicesList::const_iterator it = indiceslist.begin();
IndicesList::const_iterator const end = indiceslist.end();
for (; it != end; ++it) {
- docstring const & current_index = it->index();
- Index const * index = indiceslist.find(current_index);
+ docstring const & current_index = it->shortcut();
+ Index const * index = indiceslist.findShortcut(current_index);
string const x11hexname = X11hexname(index->color());
// display the new color
docstring const str = current_index + ' ' + from_ascii(x11hexname);
}
+void GuiDocument::updateUnknownBranches()
+{
+ list<docstring> used_branches;
+ buffer().getUsedBranches(used_branches);
+ list<docstring>::const_iterator it = used_branches.begin();
+ QStringList unknown_branches;
+ for (; it != used_branches.end() ; ++it) {
+ if (!buffer().params().branchlist().find(*it))
+ unknown_branches.append(toqstr(*it));
+ }
+ branchesModule->setUnknownBranches(unknown_branches);
+}
+
+
+void GuiDocument::branchesRename(docstring const & oldname, docstring const & newname)
+{
+ map<docstring, docstring>::iterator it = changedBranches_.begin();
+ for (; it != changedBranches_.end() ; ++it) {
+ if (it->second == oldname) {
+ // branch has already been renamed
+ it->second = newname;
+ return;
+ }
+ }
+ // store new name
+ changedBranches_[oldname] = newname;
+}
+
+
+void GuiDocument::executeBranchRenaming() const
+{
+ map<docstring, docstring>::const_iterator it = changedBranches_.begin();
+ for (; it != changedBranches_.end() ; ++it) {
+ docstring const arg = '"' + it->first + '"' + " " + '"' + it->second + '"';
+ dispatch(FuncRequest(LFUN_BRANCHES_RENAME, arg));
+ }
+}
+
+
Dialog * createGuiDocument(GuiView & lv) { return new GuiDocument(lv); }