aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPetar Perisin <[email protected]>2013-01-12 18:52:05 +0100
committerTobias Hunger <[email protected]>2013-01-17 11:18:28 +0100
commitb7faf4d6746cb5d20bb9afae39bee67e68dbb714 (patch)
tree00a6eb3a1a3ed64bec95211c103997342b2d7099 /src
parent8b419be12f8d12c5aca4aa51f437bfec5ed2cae5 (diff)
Git: added custom message to EnsureStash popup
Better overview in stash dialog. Change-Id: Icb6d3f8e2e068882e661e017ce8a0bb00ec6dba5 Reviewed-by: Orgad Shaneh <[email protected]> Reviewed-by: Tobias Hunger <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/git/branchmodel.cpp2
-rw-r--r--src/plugins/git/gitclient.cpp15
-rw-r--r--src/plugins/git/gitclient.h4
-rw-r--r--src/plugins/git/gitplugin.cpp4
4 files changed, 14 insertions, 11 deletions
diff --git a/src/plugins/git/branchmodel.cpp b/src/plugins/git/branchmodel.cpp
index 927bd58c8ab..ed8df9321f3 100644
--- a/src/plugins/git/branchmodel.cpp
+++ b/src/plugins/git/branchmodel.cpp
@@ -431,7 +431,7 @@ void BranchModel::checkoutBranch(const QModelIndex &idx)
return;
QString errorMessage;
- switch (m_client->ensureStash(m_workingDirectory, &errorMessage)) {
+ switch (m_client->ensureStash(m_workingDirectory, QLatin1String("Branch-Checkout"), 0, &errorMessage)) {
case GitClient::StashUnchanged:
case GitClient::Stashed:
case GitClient::NotStashed:
diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp
index 3b0630df5ec..a873f198732 100644
--- a/src/plugins/git/gitclient.cpp
+++ b/src/plugins/git/gitclient.cpp
@@ -1568,17 +1568,17 @@ static inline int askWithDetailedText(QWidget *parent,
}
// Convenience that pops up an msg box.
-GitClient::StashResult GitClient::ensureStash(const QString &workingDirectory)
+GitClient::StashResult GitClient::ensureStash(const QString &workingDirectory, const QString &keyword, QString *message)
{
QString errorMessage;
- const StashResult sr = ensureStash(workingDirectory, &errorMessage);
+ const StashResult sr = ensureStash(workingDirectory, keyword, message, &errorMessage);
if (sr == StashFailed)
outputWindow()->appendError(errorMessage);
return sr;
}
// Ensure that changed files are stashed before a pull or similar
-GitClient::StashResult GitClient::ensureStash(const QString &workingDirectory, QString *errorMessage)
+GitClient::StashResult GitClient::ensureStash(const QString &workingDirectory, const QString &keyword, QString *message, QString *errorMessage)
{
QString statusOutput;
switch (gitStatus(workingDirectory, StatusMode(NoUntracked | NoSubmodules),
@@ -1597,14 +1597,17 @@ GitClient::StashResult GitClient::ensureStash(const QString &workingDirectory, Q
switch (answer) {
case QMessageBox::Cancel:
return StashCanceled;
- case QMessageBox::Yes:
- if (!executeSynchronousStash(workingDirectory, creatorStashMessage(QLatin1String("push")), errorMessage))
+ case QMessageBox::Yes: {
+ const QString stashMessage = creatorStashMessage(keyword);
+ if (!executeSynchronousStash(workingDirectory, stashMessage, errorMessage))
return StashFailed;
+ if (message)
+ *message = stashMessage;
break;
+ }
case QMessageBox::No: // At your own risk, so.
return NotStashed;
}
-
return Stashed;
}
diff --git a/src/plugins/git/gitclient.h b/src/plugins/git/gitclient.h
index d7eb76a41fa..f0e36309a6e 100644
--- a/src/plugins/git/gitclient.h
+++ b/src/plugins/git/gitclient.h
@@ -207,8 +207,8 @@ public:
enum StashResult { StashUnchanged, StashCanceled, StashFailed,
Stashed, NotStashed /* User did not want it */ };
- StashResult ensureStash(const QString &workingDirectory, QString *errorMessage);
- StashResult ensureStash(const QString &workingDirectory);
+ StashResult ensureStash(const QString &workingDirectory, const QString &keyword, QString *message = 0);
+ StashResult ensureStash(const QString &workingDirectory, const QString &keyword, QString *message, QString *errorMessage);
bool getCommitData(const QString &workingDirectory, bool amend,
QString *commitTemplate, CommitData *commitData,
diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp
index e4ffae16283..6a4491343f1 100644
--- a/src/plugins/git/gitplugin.cpp
+++ b/src/plugins/git/gitplugin.cpp
@@ -901,7 +901,7 @@ void GitPlugin::pull()
}
}
- GitClient::StashResult stashResult = m_gitClient->ensureStash(state.topLevel());
+ GitClient::StashResult stashResult = m_gitClient->ensureStash(state.topLevel(), QLatin1String("Pull"));
switch (stashResult) {
case GitClient::StashUnchanged:
case GitClient::Stashed:
@@ -1031,7 +1031,7 @@ void GitPlugin::promptApplyPatch()
void GitPlugin::applyPatch(const QString &workingDirectory, QString file)
{
// Ensure user has been notified about pending changes
- switch (m_gitClient->ensureStash(workingDirectory)) {
+ switch (m_gitClient->ensureStash(workingDirectory, QLatin1String("Apply-Patch"))) {
case GitClient::StashUnchanged:
case GitClient::Stashed:
case GitClient::NotStashed: