diff options
author | Orgad Shaneh <orgad.shaneh@audiocodes.com> | 2013-06-26 22:32:55 +0300 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2013-07-09 12:00:07 +0200 |
commit | 41b51ff67fccdd788cc5257d36b57ee8d483be23 (patch) | |
tree | 22f1c14db30b2b794bdf6f46429e3cba0370fc3e | |
parent | 7da5e1635dae51b76cbc39bc3189d887c813770a (diff) | |
download | qt-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.cpp | 2 | ||||
-rw-r--r-- | src/plugins/git/gitsettings.h | 1 | ||||
-rw-r--r-- | src/plugins/git/logchangedialog.cpp | 13 |
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 |