diff options
author | Andre Hartmann <aha_1980@gmx.de> | 2020-07-01 21:31:09 +0200 |
---|---|---|
committer | André Hartmann <aha_1980@gmx.de> | 2020-07-06 10:55:43 +0000 |
commit | c9eedbe0f387f33e5e455af03a795d2114528543 (patch) | |
tree | a5227d843c2a2a667825c17acf1f7da3c6895885 /src/plugins/git | |
parent | e3312205ed2fda1af25e70562ebbafa42b3ce7f8 (diff) |
Git: Port colorful log to text colors
Fixes: QTCREATORBUG-24198
Change-Id: Icde06da5ac848fb0f7faf02a8e55fb26136f318c
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Diffstat (limited to 'src/plugins/git')
-rw-r--r-- | src/plugins/git/gitclient.cpp | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index 16337bf5b6..253b9d7473 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -570,6 +570,17 @@ static bool gitHasRgbColors() return gitVersion >= 0x020300U; } +static QString logColorName(TextEditor::TextStyle style) +{ + using namespace TextEditor; + + const ColorScheme &scheme = TextEditorSettings::fontSettings().colorScheme(); + QColor color = scheme.formatFor(style).foreground(); + if (!color.isValid()) + color = scheme.formatFor(C_TEXT).foreground(); + return color.name(); +}; + class GitLogArgumentsWidget : public BaseGitLogArgumentsWidget { Q_OBJECT @@ -603,12 +614,11 @@ public: QStringList graphArguments() const { - auto colorName = [](Theme::Color color) { return creatorTheme()->color(color).name(); }; - const QString authorName = colorName(Theme::Git_AuthorName_TextColor); - const QString commitDate = colorName(Theme::Git_CommitDate_TextColor); - const QString commitHash = colorName(Theme::Git_CommitHash_TextColor); - const QString commitSubject = colorName(Theme::Git_CommitSubject_TextColor); - const QString decoration = colorName(Theme::Git_Decoration_TextColor); + const QString authorName = logColorName(TextEditor::C_LOG_AUTHOR_NAME); + const QString commitDate = logColorName(TextEditor::C_LOG_COMMIT_DATE); + const QString commitHash = logColorName(TextEditor::C_LOG_COMMIT_HASH); + const QString commitSubject = logColorName(TextEditor::C_LOG_COMMIT_SUBJECT); + const QString decoration = logColorName(TextEditor::C_LOG_DECORATION); const QString formatArg = QStringLiteral( "--pretty=format:" @@ -1051,19 +1061,18 @@ static QStringList normalLogArguments() if (!gitHasRgbColors()) return {}; - auto colorName = [](Theme::Color color) { return creatorTheme()->color(color).name(); }; - const QString authorName = colorName(Theme::Git_AuthorName_TextColor); - const QString commitDate = colorName(Theme::Git_CommitDate_TextColor); - const QString commitHash = colorName(Theme::Git_CommitHash_TextColor); - const QString commitSubject = colorName(Theme::Git_CommitSubject_TextColor); - const QString decoration = colorName(Theme::Git_Decoration_TextColor); + const QString authorName = logColorName(TextEditor::C_LOG_AUTHOR_NAME); + const QString commitDate = logColorName(TextEditor::C_LOG_COMMIT_DATE); + const QString commitHash = logColorName(TextEditor::C_LOG_COMMIT_HASH); + const QString commitSubject = logColorName(TextEditor::C_LOG_COMMIT_SUBJECT); + const QString decoration = logColorName(TextEditor::C_LOG_DECORATION); const QString logArgs = QStringLiteral( "--pretty=format:" "commit %C(%1)%H%Creset %C(%2)%d%Creset%n" "Author: %C(%3)%an <%ae>%Creset%n" "Date: %C(%4)%cD%Creset%n%n" - "%C(%5)%s%Creset%n%n%b%n" + "%C(%5)%w(0,4,4)%s%Creset%n%n%b" ).arg(commitHash, decoration, authorName, commitDate, commitSubject); return {logArgs}; |