Git: Aspectify settings

Change-Id: I87dfeba360967cc77cc230811bcd9f67b3ea6e38
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
hjk
2021-03-16 06:00:25 +01:00
parent f2c34e51e9
commit aa69415ac7
19 changed files with 379 additions and 529 deletions

View File

@@ -25,6 +25,7 @@
#pragma once
#include <coreplugin/dialogs/ioptionspage.h>
#include <vcsbase/vcsbaseclientsettings.h>
namespace Git {
@@ -38,32 +39,39 @@ enum CommitType
};
// Todo: Add user name and password?
class GitSettings : public VcsBase::VcsBaseClientSettings
class GitSettings : public VcsBase::VcsBaseSettings
{
Q_DECLARE_TR_FUNCTIONS(Git::Internal::GitSettings)
public:
GitSettings();
static const QLatin1String pullRebaseKey;
static const QLatin1String showTagsKey;
static const QLatin1String omitAnnotationDateKey;
static const QLatin1String ignoreSpaceChangesInDiffKey;
static const QLatin1String ignoreSpaceChangesInBlameKey;
static const QLatin1String blameMoveDetection;
static const QLatin1String diffPatienceKey;
static const QLatin1String winSetHomeEnvironmentKey;
static const QLatin1String gitkOptionsKey;
static const QLatin1String logDiffKey;
static const QLatin1String repositoryBrowserCmd;
static const QLatin1String graphLogKey;
static const QLatin1String colorLogKey;
static const QLatin1String firstParentKey;
static const QLatin1String followRenamesKey;
static const QLatin1String lastResetIndexKey;
static const QLatin1String refLogShowDateKey;
Utils::BoolAspect pullRebase;
Utils::BoolAspect showTags;
Utils::BoolAspect omitAnnotationDate;
Utils::BoolAspect ignoreSpaceChangesInDiff;
Utils::BoolAspect ignoreSpaceChangesInBlame;
Utils::IntegerAspect blameMoveDetection;
Utils::BoolAspect diffPatience;
Utils::BoolAspect winSetHomeEnvironment;
Utils::StringAspect gitkOptions;
Utils::BoolAspect logDiff;
Utils::StringAspect repositoryBrowserCmd;
Utils::BoolAspect graphLog;
Utils::BoolAspect colorLog;
Utils::BoolAspect firstParent;
Utils::BoolAspect followRenames;
Utils::IntegerAspect lastResetIndex;
Utils::BoolAspect refLogShowDate;
Utils::TextDisplay note;
Utils::FilePath gitExecutable(bool *ok = nullptr, QString *errorMessage = nullptr) const;
};
GitSettings &operator=(const GitSettings &s) = default;
class GitSettingsPage final : public Core::IOptionsPage
{
public:
GitSettingsPage(GitSettings *settings, const std::function<void()> &onChange);
};
} // namespace Internal