From ad75eb5ebb3ead557a42cf19ea09b048655eba4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81d=C3=A1m=20Kov=C3=A1cs?= Date: Fri, 7 Jan 2022 11:38:00 +0100 Subject: [PATCH] Refactor styles --- .../FileTime.App.Style.Abstraction.csproj | 9 +++++++++ .../IColoredConsoleRenderer.cs | 0 .../IConsoleColor.cs | 0 .../IStyles.cs | 1 + .../UI => FileTime.App.Style}/Color/AnsiColor.cs | 0 .../UI => FileTime.App.Style}/Color/BasicColor.cs | 0 .../Color/ColoredConsoleRenderer.cs | 0 src/FileTime.App.Style/FileTime.App.Style.csproj | 13 +++++++++++++ .../UI => FileTime.App.Style}/Styles.cs | 3 +++ .../FileTime.ConsoleUI.App.csproj | 1 + src/FileTime.ConsoleUI.App/UI/Render.cs | 4 ++-- src/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj | 1 + src/FileTime.sln | 12 ++++++++++++ 13 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 src/FileTime.App.Style.Abstraction/FileTime.App.Style.Abstraction.csproj rename src/{FileTime.ConsoleUI.App/UI/Color => FileTime.App.Style.Abstraction}/IColoredConsoleRenderer.cs (100%) rename src/{FileTime.ConsoleUI.App/UI/Color => FileTime.App.Style.Abstraction}/IConsoleColor.cs (100%) rename src/{FileTime.ConsoleUI.App/UI => FileTime.App.Style.Abstraction}/IStyles.cs (93%) rename src/{FileTime.ConsoleUI.App/UI => FileTime.App.Style}/Color/AnsiColor.cs (100%) rename src/{FileTime.ConsoleUI.App/UI => FileTime.App.Style}/Color/BasicColor.cs (100%) rename src/{FileTime.ConsoleUI.App/UI => FileTime.App.Style}/Color/ColoredConsoleRenderer.cs (100%) create mode 100644 src/FileTime.App.Style/FileTime.App.Style.csproj rename src/{FileTime.ConsoleUI.App/UI => FileTime.App.Style}/Styles.cs (91%) diff --git a/src/FileTime.App.Style.Abstraction/FileTime.App.Style.Abstraction.csproj b/src/FileTime.App.Style.Abstraction/FileTime.App.Style.Abstraction.csproj new file mode 100644 index 0000000..bafd05b --- /dev/null +++ b/src/FileTime.App.Style.Abstraction/FileTime.App.Style.Abstraction.csproj @@ -0,0 +1,9 @@ + + + + net6.0 + enable + enable + + + diff --git a/src/FileTime.ConsoleUI.App/UI/Color/IColoredConsoleRenderer.cs b/src/FileTime.App.Style.Abstraction/IColoredConsoleRenderer.cs similarity index 100% rename from src/FileTime.ConsoleUI.App/UI/Color/IColoredConsoleRenderer.cs rename to src/FileTime.App.Style.Abstraction/IColoredConsoleRenderer.cs diff --git a/src/FileTime.ConsoleUI.App/UI/Color/IConsoleColor.cs b/src/FileTime.App.Style.Abstraction/IConsoleColor.cs similarity index 100% rename from src/FileTime.ConsoleUI.App/UI/Color/IConsoleColor.cs rename to src/FileTime.App.Style.Abstraction/IConsoleColor.cs diff --git a/src/FileTime.ConsoleUI.App/UI/IStyles.cs b/src/FileTime.App.Style.Abstraction/IStyles.cs similarity index 93% rename from src/FileTime.ConsoleUI.App/UI/IStyles.cs rename to src/FileTime.App.Style.Abstraction/IStyles.cs index 0833745..ce25317 100644 --- a/src/FileTime.ConsoleUI.App/UI/IStyles.cs +++ b/src/FileTime.App.Style.Abstraction/IStyles.cs @@ -15,6 +15,7 @@ namespace FileTime.ConsoleUI.App.UI IConsoleColor? SelectedItemBackground { get; } IConsoleColor? SelectedItemForeground { get; } IConsoleColor? ErrorColor { get; } + IConsoleColor? ErrorInverseColor { get; } IConsoleColor? AccentForeground { get; } } } \ No newline at end of file diff --git a/src/FileTime.ConsoleUI.App/UI/Color/AnsiColor.cs b/src/FileTime.App.Style/Color/AnsiColor.cs similarity index 100% rename from src/FileTime.ConsoleUI.App/UI/Color/AnsiColor.cs rename to src/FileTime.App.Style/Color/AnsiColor.cs diff --git a/src/FileTime.ConsoleUI.App/UI/Color/BasicColor.cs b/src/FileTime.App.Style/Color/BasicColor.cs similarity index 100% rename from src/FileTime.ConsoleUI.App/UI/Color/BasicColor.cs rename to src/FileTime.App.Style/Color/BasicColor.cs diff --git a/src/FileTime.ConsoleUI.App/UI/Color/ColoredConsoleRenderer.cs b/src/FileTime.App.Style/Color/ColoredConsoleRenderer.cs similarity index 100% rename from src/FileTime.ConsoleUI.App/UI/Color/ColoredConsoleRenderer.cs rename to src/FileTime.App.Style/Color/ColoredConsoleRenderer.cs diff --git a/src/FileTime.App.Style/FileTime.App.Style.csproj b/src/FileTime.App.Style/FileTime.App.Style.csproj new file mode 100644 index 0000000..3690ac4 --- /dev/null +++ b/src/FileTime.App.Style/FileTime.App.Style.csproj @@ -0,0 +1,13 @@ + + + + + + + + net6.0 + enable + enable + + + diff --git a/src/FileTime.ConsoleUI.App/UI/Styles.cs b/src/FileTime.App.Style/Styles.cs similarity index 91% rename from src/FileTime.ConsoleUI.App/UI/Styles.cs rename to src/FileTime.App.Style/Styles.cs index e43caea..1d72709 100644 --- a/src/FileTime.ConsoleUI.App/UI/Styles.cs +++ b/src/FileTime.App.Style/Styles.cs @@ -16,6 +16,7 @@ namespace FileTime.ConsoleUI.App.UI public IConsoleColor? SelectedItemForeground { get; } public IConsoleColor? ErrorColor { get; } + public IConsoleColor? ErrorInverseColor { get; } public IConsoleColor? AccentForeground { get; } public Styles(bool useAnsiColors) @@ -29,6 +30,7 @@ namespace FileTime.ConsoleUI.App.UI ElementBackground = AnsiColor.From8bit(0); ErrorColor = AnsiColor.From8bit(1); + ErrorInverseColor = AnsiColor.From8bit(15); AccentForeground = AnsiColor.From8bit(2); } else @@ -40,6 +42,7 @@ namespace FileTime.ConsoleUI.App.UI SelectedItemForeground = new BasicColor(ConsoleColor.DarkYellow); ErrorColor = new BasicColor(ConsoleColor.Red); + ErrorInverseColor = new BasicColor(ConsoleColor.White); AccentForeground = new BasicColor(ConsoleColor.Green); } diff --git a/src/FileTime.ConsoleUI.App/FileTime.ConsoleUI.App.csproj b/src/FileTime.ConsoleUI.App/FileTime.ConsoleUI.App.csproj index 61abf8d..fce546b 100644 --- a/src/FileTime.ConsoleUI.App/FileTime.ConsoleUI.App.csproj +++ b/src/FileTime.ConsoleUI.App/FileTime.ConsoleUI.App.csproj @@ -2,6 +2,7 @@ + diff --git a/src/FileTime.ConsoleUI.App/UI/Render.cs b/src/FileTime.ConsoleUI.App/UI/Render.cs index 0aa4597..5c96df3 100644 --- a/src/FileTime.ConsoleUI.App/UI/Render.cs +++ b/src/FileTime.ConsoleUI.App/UI/Render.cs @@ -232,8 +232,8 @@ namespace FileTime.ConsoleUI.App.UI } else { - _coloredRenderer.BackgroundColor = new BasicColor(ConsoleColor.Red); - _coloredRenderer.ForegroundColor = new BasicColor(ConsoleColor.White); + _coloredRenderer.BackgroundColor = _appStyle.ErrorColor; + _coloredRenderer.ForegroundColor = _appStyle.ErrorInverseColor; Console.SetCursorPosition(startX, startY + currentY++); _coloredRenderer.Write($"{{0,-{elementWidth}}}", _paddingLeft + "" + _paddingRight); diff --git a/src/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj b/src/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj index 5278e2e..45f9cf0 100644 --- a/src/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj +++ b/src/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj @@ -4,6 +4,7 @@ + diff --git a/src/FileTime.sln b/src/FileTime.sln index d0b752e..7c57be0 100644 --- a/src/FileTime.sln +++ b/src/FileTime.sln @@ -15,6 +15,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileTime.Providers.Local", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileTime.App.Core", "FileTime.App.Core\FileTime.App.Core.csproj", "{2C0F630D-FD5D-4554-B8DD-F11BF4EB49C5}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileTime.App.Style", "FileTime.App.Style\FileTime.App.Style.csproj", "{92961CA3-ECAB-4920-95CA-F37E8F3EFDFA}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileTime.App.Style.Abstraction", "FileTime.App.Style.Abstraction\FileTime.App.Style.Abstraction.csproj", "{BEA824B0-7684-44FF-95BF-A75E92A36C9F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -48,6 +52,14 @@ Global {2C0F630D-FD5D-4554-B8DD-F11BF4EB49C5}.Debug|Any CPU.Build.0 = Debug|Any CPU {2C0F630D-FD5D-4554-B8DD-F11BF4EB49C5}.Release|Any CPU.ActiveCfg = Release|Any CPU {2C0F630D-FD5D-4554-B8DD-F11BF4EB49C5}.Release|Any CPU.Build.0 = Release|Any CPU + {92961CA3-ECAB-4920-95CA-F37E8F3EFDFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {92961CA3-ECAB-4920-95CA-F37E8F3EFDFA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {92961CA3-ECAB-4920-95CA-F37E8F3EFDFA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {92961CA3-ECAB-4920-95CA-F37E8F3EFDFA}.Release|Any CPU.Build.0 = Release|Any CPU + {BEA824B0-7684-44FF-95BF-A75E92A36C9F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BEA824B0-7684-44FF-95BF-A75E92A36C9F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BEA824B0-7684-44FF-95BF-A75E92A36C9F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BEA824B0-7684-44FF-95BF-A75E92A36C9F}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution {AAE01ED7-2E8B-40A2-AD0E-95BDA7C99272} = {517D96CE-A956-4638-A93D-465D34DE22B1}