diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2018-09-26 15:06:24 +0200 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2018-09-27 14:15:40 +0000 |
commit | 8b93eee3b1e26e393783389020ba4c6aed02844b (patch) | |
tree | 01a3e7b26f425d67f1c81aaad84ca9733c34f20e /src/plugins/git | |
parent | d982c362c19c4b18094173329ecde875c7c7e6ca (diff) | |
download | qt-creator-8b93eee3b1e26e393783389020ba4c6aed02844b.tar.gz |
Git: Double click on branch shows log
...instead of allowing to rename inline. Renaming can still be done with
the context menu.
Inspecting the log is a more common operation.
Change-Id: Idb3fb8fe01b6a5ae57a2eba09b27a36f677e566a
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Diffstat (limited to 'src/plugins/git')
-rw-r--r-- | src/plugins/git/branchmodel.cpp | 5 | ||||
-rw-r--r-- | src/plugins/git/branchview.cpp | 15 | ||||
-rw-r--r-- | src/plugins/git/branchview.h | 2 |
3 files changed, 13 insertions, 9 deletions
diff --git a/src/plugins/git/branchmodel.cpp b/src/plugins/git/branchmodel.cpp index a7bba79a45..4c78bf5108 100644 --- a/src/plugins/git/branchmodel.cpp +++ b/src/plugins/git/branchmodel.cpp @@ -319,10 +319,7 @@ Qt::ItemFlags BranchModel::flags(const QModelIndex &index) const BranchNode *node = indexToNode(index); if (!node) return Qt::NoItemFlags; - if (index.column() == 0 && node->isLeaf() && node->isLocal()) - return Qt::ItemIsSelectable | Qt::ItemIsEditable | Qt::ItemIsEnabled; - else - return Qt::ItemIsSelectable | Qt::ItemIsEnabled; + return Qt::ItemIsSelectable | Qt::ItemIsEnabled; } void BranchModel::clear() diff --git a/src/plugins/git/branchview.cpp b/src/plugins/git/branchview.cpp index ddb3565f49..7487e73b5f 100644 --- a/src/plugins/git/branchview.cpp +++ b/src/plugins/git/branchview.cpp @@ -100,6 +100,8 @@ BranchView::BranchView() : this, &BranchView::BranchView::setIncludeTags); m_branchView->setContextMenuPolicy(Qt::CustomContextMenu); + connect(m_branchView, &QAbstractItemView::doubleClicked, + this, &BranchView::log); connect(m_branchView, &QWidget::customContextMenuRequested, this, &BranchView::slotCustomContextMenu); connect(m_model, &QAbstractItemModel::modelReset, @@ -192,11 +194,7 @@ void BranchView::slotCustomContextMenu(const QPoint &point) if (!fullName.isEmpty()) GitPlugin::client()->diffBranch(m_repository, fullName); }); - contextMenu.addAction(tr("Log"), this, [this] { - const QString branchName = m_model->fullName(selectedIndex(), true); - if (!branchName.isEmpty()) - GitPlugin::client()->log(m_repository, QString(), false, {branchName}); - }); + contextMenu.addAction(tr("Log"), this, [this] { log(selectedIndex()); }); contextMenu.addSeparator(); if (!currentSelected) { if (currentLocal) @@ -491,6 +489,13 @@ bool BranchView::cherryPick() return GitPlugin::client()->synchronousCherryPick(m_repository, branch); } +void BranchView::log(const QModelIndex &idx) +{ + const QString branchName = m_model->fullName(idx, true); + if (!branchName.isEmpty()) + GitPlugin::client()->log(m_repository, QString(), false, {branchName}); +} + BranchViewFactory::BranchViewFactory() { setDisplayName(tr("Git Branches")); diff --git a/src/plugins/git/branchview.h b/src/plugins/git/branchview.h index fdee914c50..096510f550 100644 --- a/src/plugins/git/branchview.h +++ b/src/plugins/git/branchview.h @@ -31,6 +31,7 @@ #include <QWidget> QT_BEGIN_NAMESPACE +class QModelIndex; class QPoint; class QToolButton; class QTreeView; @@ -79,6 +80,7 @@ private: bool merge(bool allowFastForward); void rebase(); bool cherryPick(); + void log(const QModelIndex &idx); QToolButton *m_addButton = nullptr; QToolButton *m_refreshButton = nullptr; |