Commit ce24dfa3 authored by Robert Loehning's avatar Robert Loehning
Browse files

VCS[git]: Ensure that only one branch is selected at a time

parent a7bb5f25
......@@ -107,10 +107,10 @@ BranchDialog::BranchDialog(QWidget *parent) :
connect(m_ui->localBranchListView->selectionModel(),
SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
this, SLOT(slotEnableButtons()));
this, SLOT(slotEnableButtons(QItemSelection)));
connect(m_ui->remoteBranchListView->selectionModel(),
SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
this, SLOT(slotEnableButtons()));
this, SLOT(slotEnableButtons(QItemSelection)));
slotEnableButtons();
}
......@@ -150,8 +150,15 @@ int BranchDialog::selectedRemoteBranchIndex() const
return selectedRow(m_ui->remoteBranchListView);
}
void BranchDialog::slotEnableButtons()
void BranchDialog::slotEnableButtons(const QItemSelection &selected)
{
if (!selected.indexes().isEmpty()) {
if (selected.indexes().at(0).model() == m_localModel)
m_ui->remoteBranchListView->clearSelection();
else
m_ui->localBranchListView->clearSelection();
}
// We can switch to or delete branches that are not current.
const bool hasRepository = !m_repository.isEmpty();
const int selectedLocalRow = selectedLocalBranchIndex();
......
......@@ -31,6 +31,7 @@
#define BRANCHDIALOG_H
#include <QtGui/QDialog>
#include <QtGui/QItemSelection>
QT_BEGIN_NAMESPACE
class QPushButton;
......@@ -64,7 +65,7 @@ public slots:
void refresh(const QString &repository, bool force);
private slots:
void slotEnableButtons();
void slotEnableButtons(const QItemSelection &selected = QItemSelection());
void slotCheckoutSelectedBranch();
void slotDeleteSelectedBranch();
void slotDiffSelected();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment