mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Add colors.
This commit is contained in:
@@ -1,17 +1,23 @@
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Reflection;
|
||||
using System.Windows.Input;
|
||||
using Aaru.Helpers;
|
||||
using Aaru.Tui.Models;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls.ApplicationLifetimes;
|
||||
using Avalonia.Media;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using Color = Avalonia.Media.Color;
|
||||
|
||||
namespace Aaru.Tui.ViewModels.Windows;
|
||||
|
||||
public sealed class MainWindowViewModel : ViewModelBase
|
||||
public sealed partial class MainWindowViewModel : ViewModelBase
|
||||
{
|
||||
[ObservableProperty]
|
||||
ObservableCollection<string> _files = [];
|
||||
public string _copyright;
|
||||
[ObservableProperty]
|
||||
ObservableCollection<FileModel> _files = [];
|
||||
[ObservableProperty]
|
||||
public string _informationalVersion;
|
||||
|
||||
@@ -24,6 +30,8 @@ public sealed class MainWindowViewModel : ViewModelBase
|
||||
.GetCustomAttribute<AssemblyInformationalVersionAttribute>()
|
||||
?.InformationalVersion ??
|
||||
"?.?.?";
|
||||
|
||||
Copyright = Assembly.GetExecutingAssembly().GetCustomAttribute<AssemblyCopyrightAttribute>()?.Copyright ?? "";
|
||||
}
|
||||
|
||||
public ICommand ExitCommand { get; }
|
||||
@@ -36,10 +44,47 @@ public sealed class MainWindowViewModel : ViewModelBase
|
||||
|
||||
public void LoadComplete()
|
||||
{
|
||||
Files.Add("..");
|
||||
var parentDirectory = new FileModel
|
||||
{
|
||||
Filename = "..",
|
||||
Path = Path.GetRelativePath(Directory.GetCurrentDirectory(), ".."),
|
||||
ForegroundBrush =
|
||||
new SolidColorBrush(Color.Parse(DirColorsParser.Instance.DirectoryColor ??
|
||||
DirColorsParser.Instance.NormalColor))
|
||||
};
|
||||
|
||||
Files.Add(parentDirectory);
|
||||
|
||||
foreach(FileModel model in Directory
|
||||
.GetDirectories(Directory.GetCurrentDirectory(), "*", SearchOption.TopDirectoryOnly)
|
||||
.Select(directory => new FileModel
|
||||
{
|
||||
Path = directory,
|
||||
Filename = Path.GetFileName(directory),
|
||||
ForegroundBrush =
|
||||
new SolidColorBrush(Color.Parse(DirColorsParser.Instance.DirectoryColor ??
|
||||
DirColorsParser.Instance.NormalColor))
|
||||
}))
|
||||
Files.Add(model);
|
||||
|
||||
foreach(string file in
|
||||
Directory.GetFiles(Directory.GetCurrentDirectory(), "*.*", SearchOption.TopDirectoryOnly))
|
||||
Files.Add(Path.GetFileName(file));
|
||||
Directory.GetFiles(Directory.GetCurrentDirectory(), "*", SearchOption.TopDirectoryOnly))
|
||||
{
|
||||
var model = new FileModel
|
||||
{
|
||||
Path = file,
|
||||
Filename = Path.GetFileName(file)
|
||||
};
|
||||
|
||||
string extension = Path.GetExtension(file);
|
||||
|
||||
model.ForegroundBrush =
|
||||
new SolidColorBrush(Color.Parse(DirColorsParser.Instance.ExtensionColors.TryGetValue(extension,
|
||||
out string? hex)
|
||||
? hex
|
||||
: DirColorsParser.Instance.NormalColor));
|
||||
|
||||
Files.Add(model);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user