diff --git a/src/plugins/git/gitsettings.cpp b/src/plugins/git/gitsettings.cpp index 64feea302edc81ef3c0f9414469adfaced37c878..197c13d7249cac3086c6619153048b358cec6b7a 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 dcf5fd940e497789fca8d15da92349211aa50db4..33980173b7190d4dd2757deac57db16cf240044a 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 3dba3eb3a73df17465f5e1fca80f750bd8ae3057..f96cb5b137e7279d6ebe1e37e9a94e8041f52a0f 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