summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2013-06-26 22:32:55 +0300
committerOrgad Shaneh <orgads@gmail.com>2013-07-09 12:00:07 +0200
commit41b51ff67fccdd788cc5257d36b57ee8d483be23 (patch)
tree22f1c14db30b2b794bdf6f46429e3cba0370fc3e
parent7da5e1635dae51b76cbc39bc3189d887c813770a (diff)
downloadqt-creator-41b51ff67fccdd788cc5257d36b57ee8d483be23.tar.gz
Git: Preserve reset type
Task-number: QTCREATORBUG-9666 Change-Id: I364bc0eefef376a9a14953b259e9d7b2eb29c228 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
-rw-r--r--src/plugins/git/gitsettings.cpp2
-rw-r--r--src/plugins/git/gitsettings.h1
-rw-r--r--src/plugins/git/logchangedialog.cpp13
3 files changed, 15 insertions, 1 deletions
diff --git a/src/plugins/git/gitsettings.cpp b/src/plugins/git/gitsettings.cpp
index 64feea302e..197c13d724 100644
--- a/src/plugins/git/gitsettings.cpp
+++ b/src/plugins/git/gitsettings.cpp
@@ -48,6 +48,7 @@ const QLatin1String GitSettings::gitkOptionsKey("GitKOptions");
const QLatin1String GitSettings::logDiffKey("LogDiff");
const QLatin1String GitSettings::repositoryBrowserCmd("RepositoryBrowserCmd");
const QLatin1String GitSettings::graphLogKey("GraphLog");
+const QLatin1String GitSettings::lastResetIndexKey("LastResetIndex");
GitSettings::GitSettings()
{
@@ -68,6 +69,7 @@ GitSettings::GitSettings()
declareKey(logDiffKey, false);
declareKey(repositoryBrowserCmd, QString());
declareKey(graphLogKey, false);
+ declareKey(lastResetIndexKey, 0);
}
QString GitSettings::gitBinaryPath(bool *ok, QString *errorMessage) const
diff --git a/src/plugins/git/gitsettings.h b/src/plugins/git/gitsettings.h
index dcf5fd940e..33980173b7 100644
--- a/src/plugins/git/gitsettings.h
+++ b/src/plugins/git/gitsettings.h
@@ -61,6 +61,7 @@ public:
static const QLatin1String logDiffKey;
static const QLatin1String repositoryBrowserCmd;
static const QLatin1String graphLogKey;
+ static const QLatin1String lastResetIndexKey;
QString gitBinaryPath(bool *ok = 0, QString *errorMessage = 0) const;
diff --git a/src/plugins/git/logchangedialog.cpp b/src/plugins/git/logchangedialog.cpp
index 3dba3eb3a7..f96cb5b137 100644
--- a/src/plugins/git/logchangedialog.cpp
+++ b/src/plugins/git/logchangedialog.cpp
@@ -180,6 +180,9 @@ LogChangeDialog::LogChangeDialog(bool isReset, QWidget *parent) :
m_resetTypeComboBox->addItem(tr("Hard"), QLatin1String("--hard"));
m_resetTypeComboBox->addItem(tr("Mixed"), QLatin1String("--mixed"));
m_resetTypeComboBox->addItem(tr("Soft"), QLatin1String("--soft"));
+ GitClient *client = GitPlugin::instance()->gitClient();
+ m_resetTypeComboBox->setCurrentIndex(client->settings()->intValue(
+ GitSettings::lastResetIndexKey));
popUpLayout->addWidget(m_resetTypeComboBox);
popUpLayout->addItem(new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Ignored));
}
@@ -203,7 +206,15 @@ bool LogChangeDialog::runDialog(const QString &repository, const QString &commit
if (!widget->init(repository, commit, includeRemote))
return false;
- return QDialog::exec() == QDialog::Accepted;
+ if (QDialog::exec() == QDialog::Accepted) {
+ if (m_resetTypeComboBox) {
+ GitClient *client = GitPlugin::instance()->gitClient();
+ client->settings()->setValue(GitSettings::lastResetIndexKey,
+ m_resetTypeComboBox->currentIndex());
+ }
+ return true;
+ }
+ return false;
}
QString LogChangeDialog::commit() const