The attached patch fixes all issues with non-functioning buttons in the branch gui and readds an own column for color and the possibility to sort, as it was the case in the qt3 gui.
I'll commit soon. Jürgen
Index: src/frontends/qt4/QBranches.C =================================================================== --- src/frontends/qt4/QBranches.C (Revision 15727) +++ src/frontends/qt4/QBranches.C (Arbeitskopie) @@ -38,9 +38,11 @@ QBranches::QBranches(QWidget * parent, Q : QWidget(parent, f) { setupUi(this); - branchesTW->setColumnCount(2); + branchesTW->setColumnCount(3); branchesTW->headerItem()->setText(0, qt_("Branch")); branchesTW->headerItem()->setText(1, qt_("Activated")); + branchesTW->headerItem()->setText(2, qt_("Color")); + branchesTW->setSortingEnabled(true); } void QBranches::update(BufferParams const & params) @@ -73,13 +75,15 @@ void QBranches::update() QColor const itemcolor = rgb2qcolor(it->getColor()); if (itemcolor.isValid()) { - QPixmap coloritem(32, 32); + QPixmap coloritem(30, 10); coloritem.fill(itemcolor); - newItem->setIcon(0, QIcon(coloritem)); + newItem->setIcon(2, QIcon(coloritem)); } // restore selected branch - if (bname == sel_branch) + if (bname == sel_branch) { + branchesTW->setCurrentItem(newItem); branchesTW->setItemSelected(newItem, true); + } } // emit signal changed(); @@ -122,9 +126,12 @@ void QBranches::on_activatePB_pressed() } -void QBranches::on_branchesTW_itemDoubleClicked(QTreeWidgetItem * item, int /*col*/) +void QBranches::on_branchesTW_itemDoubleClicked(QTreeWidgetItem * item, int col) { - toggleBranch(item); + if (col < 2) + toggleBranch(item); + else + toggleColor(item); } @@ -147,11 +154,16 @@ void QBranches::toggleBranch(QTreeWidget void QBranches::on_colorPB_clicked() { - QTreeWidgetItem * selItem = - branchesTW->currentItem(); - QString sel_branch; - if (selItem != 0) - sel_branch = selItem->text(0); + toggleColor(branchesTW->currentItem()); +} + + +void QBranches::toggleColor(QTreeWidgetItem * item) +{ + if (item == 0) + return; + + QString sel_branch = item->text(0); if (!sel_branch.isEmpty()) { docstring current_branch = qstring_to_ucs4(sel_branch); Branch * branch = Index: src/frontends/qt4/QBranches.h =================================================================== --- src/frontends/qt4/QBranches.h (Revision 15727) +++ src/frontends/qt4/QBranches.h (Arbeitskopie) @@ -45,6 +45,7 @@ Q_SIGNALS: protected: void toggleBranch(QTreeWidgetItem *); + void toggleColor(QTreeWidgetItem *); void update(); protected Q_SLOTS: Index: src/frontends/qt4/QDocumentDialog.C =================================================================== --- src/frontends/qt4/QDocumentDialog.C (Revision 15727) +++ src/frontends/qt4/QDocumentDialog.C (Arbeitskopie) @@ -372,12 +372,10 @@ QDocumentDialog::QDocumentDialog(QDocume } } - - + // branches branchesModule = new QBranches; connect(branchesModule, SIGNAL(changed()), this, SLOT(change_adaptor())); - // preamble preambleModule = new UiWidget<Ui::PreambleUi>; connect(preambleModule->preambleTE, SIGNAL(textChanged()), this, SLOT(change_adaptor()));