X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Ffrontends%2Fqt4%2FGuiBranches.cpp;h=a38b034b5d4ce4ff320cc42a0cc8b51c63a081cc;hb=17986e7509f05a79446423a9a32c762cb19a3429;hp=a004218562c22f0d4b69c6b2b9a9e3369cfb9f3f;hpb=e5ae1a4b75ee4ac162db9d1b254968d2072938c6;p=lyx.git diff --git a/src/frontends/qt4/GuiBranches.cpp b/src/frontends/qt4/GuiBranches.cpp index a004218562..a38b034b5d 100644 --- a/src/frontends/qt4/GuiBranches.cpp +++ b/src/frontends/qt4/GuiBranches.cpp @@ -18,10 +18,14 @@ #include "Validator.h" #include "qt_helpers.h" +#include "ui_BranchesUnknownUi.h" + +#include "Buffer.h" #include "BufferParams.h" #include "support/lstrings.h" +#include #include #include #include @@ -43,6 +47,23 @@ GuiBranches::GuiBranches(QWidget * parent) branchesTW->headerItem()->setText(1, qt_("Activated")); branchesTW->headerItem()->setText(2, qt_("Color")); branchesTW->setSortingEnabled(true); + + undef_ = new BranchesUnknownDialog(this); + undef_bc_.setPolicy(ButtonPolicy::OkCancelPolicy); + undef_bc_.setCancel(undef_->cancelPB); + + connect(undef_->branchesLW, SIGNAL(itemSelectionChanged()), + this, SLOT(unknownBranchSelChanged())); + connect(undef_->addSelectedPB, SIGNAL(clicked()), + this, SLOT(addUnknown())); + connect(undef_->addAllPB, SIGNAL(clicked()), + this, SLOT(addAllUnknown())); + connect(undef_->addSelectedPB, SIGNAL(clicked()), + undef_, SLOT(accept())); + connect(undef_->addAllPB, SIGNAL(clicked()), + undef_, SLOT(accept())); + connect(undef_->cancelPB, SIGNAL(clicked()), + undef_, SLOT(reject())); } void GuiBranches::update(BufferParams const & params) @@ -83,6 +104,7 @@ void GuiBranches::updateView() branchesTW->setItemSelected(newItem, true); } } + unknownPB->setEnabled(!unknown_branches_.isEmpty()); // emit signal changed(); } @@ -183,7 +205,50 @@ void GuiBranches::toggleColor(QTreeWidgetItem * item) updateView(); } + +void GuiBranches::on_unknownPB_pressed() +{ + undef_->branchesLW->clear(); + for (int i = 0; i != unknown_branches_.count(); ++i) { + if (branchesTW->findItems(unknown_branches_[i], Qt::MatchExactly, 0).empty()) + undef_->branchesLW->addItem(unknown_branches_[i]); + } + unknownBranchSelChanged(); + undef_->exec(); +} + + +void GuiBranches::addUnknown() +{ + QList selItems = + undef_->branchesLW->selectedItems(); + + QList::const_iterator it = selItems.begin(); + for (it ; it != selItems.end() ; ++it) { + QListWidgetItem const * new_branch = *it; + if (new_branch) { + branchlist_.add(qstring_to_ucs4(new_branch->text())); + updateView(); + } + } +} + + +void GuiBranches::addAllUnknown() +{ + undef_->branchesLW->selectAll(); + addUnknown(); +} + + +void GuiBranches::unknownBranchSelChanged() +{ + undef_->addSelectedPB->setEnabled( + !undef_->branchesLW->selectedItems().isEmpty()); +} + + } // namespace frontend } // namespace lyx -#include "GuiBranches_moc.cpp" +#include "moc_GuiBranches.cpp"