* Update settings window layout with consistent margins Updated the layout of the different views of the settings window so that there is always margin at the bottom. In some cases this was achieved using <StackPanels> for clarity and extensibility, grouping e.g. a title and some radio options together with one unified margin. Also made some small consistency changes to the .xaml files. * Add width to Themes text input * Normalize margins in settings * Add default display values in Terminal settings ... for Arguments and Working Directory * Generalize TemplateSelector for empty strings * Add default display value for profile keybindings * Update margins and fontsize in theme preview * Update 'loading...' message in About ... to "Checking for updates..." and a spinner as suggested by @skipmeister123 * No popup when cancelling profile edit no changes * Delete profile when new and cancelled * Open new and cloned themes in edit mode ... and make it so canceling deletes the theme. * No popup when cancelling theme edit no changes * Add resources for margin definitions * Check for null Author in TerminalTheme * Add resource for header margin definition * Moved createdBy text to code behind
89 lines
3.2 KiB
C#
89 lines
3.2 KiB
C#
namespace FluentTerminal.Models
|
|
{
|
|
public class TerminalColors
|
|
{
|
|
public string Foreground { get; set; }
|
|
public string Background { get; set; }
|
|
public string Cursor { get; set; }
|
|
public string CursorAccent { get; set; }
|
|
public string Selection { get; set; }
|
|
|
|
public string Black { get; set; }
|
|
public string Red { get; set; }
|
|
public string Green { get; set; }
|
|
public string Yellow { get; set; }
|
|
public string Blue { get; set; }
|
|
public string Magenta { get; set; }
|
|
public string Cyan { get; set; }
|
|
public string White { get; set; }
|
|
|
|
public string BrightBlack { get; set; }
|
|
public string BrightRed { get; set; }
|
|
public string BrightGreen { get; set; }
|
|
public string BrightYellow { get; set; }
|
|
public string BrightBlue { get; set; }
|
|
public string BrightMagenta { get; set; }
|
|
public string BrightCyan { get; set; }
|
|
public string BrightWhite { get; set; }
|
|
|
|
public TerminalColors()
|
|
{
|
|
}
|
|
|
|
public TerminalColors(TerminalColors other)
|
|
{
|
|
Foreground = other.Foreground;
|
|
Background = other.Background;
|
|
Cursor = other.Cursor;
|
|
CursorAccent = other.CursorAccent;
|
|
Selection = other.Selection;
|
|
|
|
Black = other.Black;
|
|
Red = other.Red;
|
|
Green = other.Green;
|
|
Yellow = other.Yellow;
|
|
Blue = other.Blue;
|
|
Magenta = other.Magenta;
|
|
Cyan = other.Cyan;
|
|
White = other.White;
|
|
|
|
BrightBlack = other.BrightBlack;
|
|
BrightRed = other.BrightRed;
|
|
BrightGreen = other.BrightGreen;
|
|
BrightYellow = other.BrightYellow;
|
|
BrightBlue = other.BrightBlue;
|
|
BrightMagenta = other.BrightMagenta;
|
|
BrightCyan = other.BrightCyan;
|
|
BrightWhite = other.BrightWhite;
|
|
}
|
|
|
|
public override bool Equals(object obj)
|
|
{
|
|
if (obj is TerminalColors other)
|
|
{
|
|
return other.Foreground.Equals(Foreground)
|
|
&& other.Background.Equals(Background)
|
|
&& other.Cursor.Equals(Cursor)
|
|
&& other.CursorAccent.Equals(CursorAccent)
|
|
&& other.Selection.Equals(Selection)
|
|
&& other.Black.Equals(Black)
|
|
&& other.Red.Equals(Red)
|
|
&& other.Green.Equals(Green)
|
|
&& other.Yellow.Equals(Yellow)
|
|
&& other.Blue.Equals(Blue)
|
|
&& other.Magenta.Equals(Magenta)
|
|
&& other.Cyan.Equals(Cyan)
|
|
&& other.White.Equals(White)
|
|
&& other.BrightBlack.Equals(BrightBlack)
|
|
&& other.BrightRed.Equals(BrightRed)
|
|
&& other.BrightGreen.Equals(BrightGreen)
|
|
&& other.BrightYellow.Equals(BrightYellow)
|
|
&& other.BrightBlue.Equals(BrightBlue)
|
|
&& other.BrightMagenta.Equals(BrightMagenta)
|
|
&& other.BrightCyan.Equals(BrightCyan)
|
|
&& other.BrightWhite.Equals(BrightWhite);
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
} |