]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiBranches.cpp
* fix spelling in comments to please John.
[lyx.git] / src / frontends / qt4 / GuiBranches.cpp
index 9f73cd4c7c2a94ccc03d6366655e1a780860dd02..bf2c5242da7d257588522fc38572352f885f1740 100644 (file)
@@ -49,7 +49,10 @@ GuiBranches::GuiBranches(QWidget * parent)
        branchesTW->headerItem()->setText(0, qt_("Branch"));
        branchesTW->headerItem()->setText(1, qt_("Activated"));
        branchesTW->headerItem()->setText(2, qt_("Color"));
+       branchesTW->headerItem()->setText(3, qt_("Filename Suffix"));
        branchesTW->setSortingEnabled(true);
+       branchesTW->resizeColumnToContents(1);
+       branchesTW->resizeColumnToContents(2);
 
        undef_ = new BranchesUnknownDialog(this);
        undef_bc_.setPolicy(ButtonPolicy::OkCancelPolicy);
@@ -101,6 +104,7 @@ void GuiBranches::updateView()
                        coloritem.fill(itemcolor);
                        newItem->setIcon(2, QIcon(coloritem));
                }
+               newItem->setText(3, it->hasFilenameSuffix() ? qt_("Yes") : qt_("No"));
                // restore selected branch
                if (bname == sel_branch) {
                        branchesTW->setCurrentItem(newItem);
@@ -114,6 +118,7 @@ void GuiBranches::updateView()
        renamePB->setEnabled(have_sel);
        colorPB->setEnabled(have_sel);
        activatePB->setEnabled(have_sel);
+       suffixPB->setEnabled(have_sel);
        // emit signal
        changed();
 }
@@ -175,13 +180,14 @@ void GuiBranches::on_renamePB_pressed()
                                success = branchlist_.rename(oldname, newname);
                        newBranchLE->clear();
                        updateView();
+
+                       if (!success)
+                               Alert::error(_("Renaming failed"), 
+                                     _("The branch could not be renamed."));
+                       else
+                               // emit signal
+                               renameBranches(oldname, newname);
                }
-               if (!success)
-                       Alert::error(_("Renaming failed"), 
-                             _("The branch could not be renamed."));
-               else
-                       // emit signal
-                       renameBranches(oldname, newname);
        }
 }
 
@@ -192,12 +198,20 @@ void GuiBranches::on_activatePB_pressed()
 }
 
 
+void GuiBranches::on_suffixPB_pressed()
+{
+       toggleSuffix(branchesTW->currentItem());
+}
+
+
 void GuiBranches::on_branchesTW_itemDoubleClicked(QTreeWidgetItem * item, int col)
 {
        if (col < 2)
                toggleBranch(item);
-       else
+       else if (col == 2)
                toggleColor(item);
+       else if (col == 3)
+               toggleSuffix(item);
 }
 
 
@@ -209,6 +223,7 @@ void GuiBranches::on_branchesTW_itemSelectionChanged()
        renamePB->setEnabled(have_sel);
        colorPB->setEnabled(have_sel);
        activatePB->setEnabled(have_sel);
+       suffixPB->setEnabled(have_sel);
 }
 
 
@@ -221,9 +236,8 @@ void GuiBranches::toggleBranch(QTreeWidgetItem * item)
        if (sel_branch.isEmpty())
                return;
 
-       bool const selected = (item->text(1) == qt_("Yes"));
        Branch * branch = branchlist_.find(qstring_to_ucs4(sel_branch));
-       if (branch && branch->setSelected(!selected)) {
+       if (branch && branch->setSelected(!branch->isSelected())) {
                newBranchLE->clear();
                updateView();
        }
@@ -262,6 +276,24 @@ void GuiBranches::toggleColor(QTreeWidgetItem * item)
 }
 
 
+void GuiBranches::toggleSuffix(QTreeWidgetItem * item)
+{
+       if (item == 0)
+               return;
+
+       QString sel_branch = item->text(0);
+       if (sel_branch.isEmpty())
+               return;
+
+       Branch * branch = branchlist_.find(qstring_to_ucs4(sel_branch));
+       if (branch) {
+               branch->setFilenameSuffix(!branch->hasFilenameSuffix());
+               newBranchLE->clear();
+               updateView();
+       }
+}
+
+
 void GuiBranches::on_unknownPB_pressed()
 {
        undef_->branchesLW->clear();