forked from qt-creator/qt-creator
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>
This commit is contained in:
committed by
Orgad Shaneh
parent
d982c362c1
commit
8b93eee3b1
@@ -319,9 +319,6 @@ 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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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"));
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user