aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/git
diff options
context:
space:
mode:
authorAndre Hartmann <aha_1980@gmx.de>2020-07-01 21:31:09 +0200
committerAndré Hartmann <aha_1980@gmx.de>2020-07-06 10:55:43 +0000
commitc9eedbe0f387f33e5e455af03a795d2114528543 (patch)
treea5227d843c2a2a667825c17acf1f7da3c6895885 /src/plugins/git
parente3312205ed2fda1af25e70562ebbafa42b3ce7f8 (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.cpp35
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};