From c07eaa2a252a9e108155c0f14219119e6f80505f Mon Sep 17 00:00:00 2001
From: Orgad Shaneh <orgad.shaneh@audiocodes.com>
Date: Wed, 2 Oct 2013 15:11:07 +0300
Subject: [PATCH] Git: Move hasRemotes out of panel data

It is input only, and doesn't belong to the panel

Also rename it enablePush

Change-Id: I9d5e2246ce76854a54b02e69980214dd35a402ee
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
---
 src/plugins/git/commitdata.cpp            | 6 ++++--
 src/plugins/git/commitdata.h              | 2 +-
 src/plugins/git/gitclient.cpp             | 2 +-
 src/plugins/git/gitsubmiteditor.cpp       | 2 +-
 src/plugins/git/gitsubmiteditorwidget.cpp | 5 +++--
 src/plugins/git/gitsubmiteditorwidget.h   | 3 ++-
 6 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/src/plugins/git/commitdata.cpp b/src/plugins/git/commitdata.cpp
index 7654d003722..068b3bd1e89 100644
--- a/src/plugins/git/commitdata.cpp
+++ b/src/plugins/git/commitdata.cpp
@@ -54,7 +54,6 @@ void GitSubmitEditorPanelData::clear()
     email.clear();
     bypassHooks = false;
     pushAction = NoPush;
-    hasRemotes = false;
 }
 
 QString GitSubmitEditorPanelData::authorString() const
@@ -79,7 +78,9 @@ QDebug operator<<(QDebug d, const GitSubmitEditorPanelData &data)
     return d;
 }
 
-CommitData::CommitData(CommitType type) : commitType(type)
+CommitData::CommitData(CommitType type)
+    : commitType(type)
+    , enablePush(false)
 {
 }
 
@@ -88,6 +89,7 @@ void CommitData::clear()
     panelInfo.clear();
     panelData.clear();
     amendSHA1.clear();
+    enablePush = false;
 
     files.clear();
 }
diff --git a/src/plugins/git/commitdata.h b/src/plugins/git/commitdata.h
index deb5072c3d1..635e24a3b9b 100644
--- a/src/plugins/git/commitdata.h
+++ b/src/plugins/git/commitdata.h
@@ -68,7 +68,6 @@ struct GitSubmitEditorPanelData
     QString email;
     bool bypassHooks;
     PushAction pushAction;
-    bool hasRemotes;
 };
 
 QDebug operator<<(QDebug d, const GitSubmitEditorPanelData &);
@@ -115,6 +114,7 @@ public:
     QString commitEncoding;
     GitSubmitEditorPanelInfo panelInfo;
     GitSubmitEditorPanelData panelData;
+    bool enablePush;
 
     QList<StateFilePair> files;
 
diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp
index 124a0d63a45..0c3c245eb1f 100644
--- a/src/plugins/git/gitclient.cpp
+++ b/src/plugins/git/gitclient.cpp
@@ -3045,7 +3045,7 @@ bool GitClient::getCommitData(const QString &workingDirectory,
         break;
     }
 
-    commitData.panelData.hasRemotes = !synchronousRemotesList(repoDirectory).isEmpty();
+    commitData.enablePush = !synchronousRemotesList(repoDirectory).isEmpty();
     return true;
 }
 
diff --git a/src/plugins/git/gitsubmiteditor.cpp b/src/plugins/git/gitsubmiteditor.cpp
index 7cd2ad9e932..0b7b36566c4 100644
--- a/src/plugins/git/gitsubmiteditor.cpp
+++ b/src/plugins/git/gitsubmiteditor.cpp
@@ -111,7 +111,7 @@ void GitSubmitEditor::setCommitData(const CommitData &d)
     m_amendSHA1 = d.amendSHA1;
 
     GitSubmitEditorWidget *w = submitEditorWidget();
-    w->initialize(m_commitType, m_workingDirectory, d.panelData, d.panelInfo);
+    w->initialize(m_commitType, m_workingDirectory, d.panelData, d.panelInfo, d.enablePush);
     w->setHasUnmerged(false);
 
     setEmptyFileListEnabled(m_commitType == AmendCommit); // Allow for just correcting the message
diff --git a/src/plugins/git/gitsubmiteditorwidget.cpp b/src/plugins/git/gitsubmiteditorwidget.cpp
index dbbc6d8c6f7..50cffe06b7e 100644
--- a/src/plugins/git/gitsubmiteditorwidget.cpp
+++ b/src/plugins/git/gitsubmiteditorwidget.cpp
@@ -87,7 +87,8 @@ void GitSubmitEditorWidget::setHasUnmerged(bool e)
 void GitSubmitEditorWidget::initialize(CommitType commitType,
                                        const QString &repository,
                                        const GitSubmitEditorPanelData &data,
-                                       const GitSubmitEditorPanelInfo &info)
+                                       const GitSubmitEditorPanelInfo &info,
+                                       bool enablePush)
 {
     if (m_isInitialized)
         return;
@@ -108,7 +109,7 @@ void GitSubmitEditorWidget::initialize(CommitType commitType,
     setPanelData(data);
     setPanelInfo(info);
 
-    if (data.hasRemotes && commitType != FixupCommit) {
+    if (enablePush && commitType != FixupCommit) {
         QMenu *menu = new QMenu(this);
         menu->addAction(tr("&Commit only"), this, SLOT(commitOnlySlot()));
         menu->addAction(tr("Commit and &Push"), this, SLOT(commitAndPushSlot()));
diff --git a/src/plugins/git/gitsubmiteditorwidget.h b/src/plugins/git/gitsubmiteditorwidget.h
index 73043cdaf3f..adef5096bd3 100644
--- a/src/plugins/git/gitsubmiteditorwidget.h
+++ b/src/plugins/git/gitsubmiteditorwidget.h
@@ -72,7 +72,8 @@ public:
     void initialize(CommitType commitType,
                     const QString &repository,
                     const GitSubmitEditorPanelData &data,
-                    const GitSubmitEditorPanelInfo &info);
+                    const GitSubmitEditorPanelInfo &info,
+                    bool enablePush);
     void refreshLog(const QString &repository);
 
 protected:
-- 
GitLab