Compare commits

..

4 Commits

Author SHA1 Message Date
intervinn
637bdf77fb
Merge b54e44aa58 into 1f21e8ce0b 2025-03-30 20:02:08 +08:00
intervinn
b54e44aa58 remove content 2024-12-30 12:57:24 +03:00
intervinn
3e9e0fba16 Change font family depending on custom font 2024-12-17 17:14:22 +03:00
intervinn
7be311dda6 Split Fonts and CustomFont 2024-12-17 15:05:20 +03:00
3 changed files with 10 additions and 33 deletions

View File

@ -26,9 +26,8 @@
public static string Application { get; private set; } = ""; public static string Application { get; private set; } = "";
public static string Fonts => Path.Combine(Modifications, "content\\fonts"); public static string Fonts => Path.Combine("content\\fonts");
public static string CustomFont => Path.Combine(Fonts, "CustomFont.ttf"); public static string CustomFont => Path.Combine(Fonts, "CustomFont.ttf");
public static bool Initialized => !String.IsNullOrEmpty(Base); public static bool Initialized => !String.IsNullOrEmpty(Base);

View File

@ -99,7 +99,7 @@
Description="{x:Static resources:Strings.Menu_Mods_Misc_CustomFont_Description}"> Description="{x:Static resources:Strings.Menu_Mods_Misc_CustomFont_Description}">
<StackPanel> <StackPanel>
<ui:Button Icon="DocumentAdd16" Content="{x:Static resources:Strings.Menu_Mods_Misc_CustomFont_Choose}" Command="{Binding ManageCustomFontCommand}" Visibility="{Binding ChooseCustomFontVisibility, Mode=OneWay}" /> <ui:Button Icon="DocumentAdd16" Content="{x:Static resources:Strings.Menu_Mods_Misc_CustomFont_Choose}" Command="{Binding ManageCustomFontCommand}" Visibility="{Binding ChooseCustomFontVisibility, Mode=OneWay}" />
<ui:Button Icon="Delete16" FontFamily="{Binding CustomFontFont}" Content="{Binding CustomFontName}" Appearance="Danger" Command="{Binding ManageCustomFontCommand}" Visibility="{Binding DeleteCustomFontVisibility, Mode=OneWay}" /> <ui:Button Icon="Delete16" FontFamily="{Binding DeleteCustomFontFontFamily}" Content="{x:Static resources:Strings.Menu_Mods_Misc_CustomFont_Remove}" Appearance="Danger" Command="{Binding ManageCustomFontCommand}" Visibility="{Binding DeleteCustomFontVisibility, Mode=OneWay}" />
</StackPanel> </StackPanel>
</controls:OptionControl> </controls:OptionControl>
</StackPanel> </StackPanel>

View File

@ -9,10 +9,10 @@ using Windows.Win32.Foundation;
using CommunityToolkit.Mvvm.Input; using CommunityToolkit.Mvvm.Input;
using Bloxstrap.Models.SettingTasks;
using Bloxstrap.AppData; using Bloxstrap.AppData;
using System.Windows.Media;
using System.Drawing.Text; using System.Drawing.Text;
using Wpf.Ui.Controls;
using System.Windows.Media;
namespace Bloxstrap.UI.ViewModels.Settings namespace Bloxstrap.UI.ViewModels.Settings
{ {
@ -54,11 +54,12 @@ namespace Bloxstrap.UI.ViewModels.Settings
TextFontTask.NewState = dialog.FileName; TextFontTask.NewState = dialog.FileName;
} }
OnPropertyChanged(nameof(ChooseCustomFontVisibility)); OnPropertyChanged(nameof(ChooseCustomFontVisibility));
OnPropertyChanged(nameof(DeleteCustomFontVisibility)); OnPropertyChanged(nameof(DeleteCustomFontVisibility));
OnPropertyChanged(nameof(CustomFontFont));
OnPropertyChanged(nameof(CustomFontName)); OnPropertyChanged(nameof(CustomFontName));
OnPropertyChanged(nameof(DeleteCustomFontFontFamily));
} }
public ICommand OpenModsFolderCommand => new RelayCommand(OpenModsFolder); public ICommand OpenModsFolderCommand => new RelayCommand(OpenModsFolder);
@ -67,38 +68,15 @@ namespace Bloxstrap.UI.ViewModels.Settings
public Visibility DeleteCustomFontVisibility => !String.IsNullOrEmpty(TextFontTask.NewState) ? Visibility.Visible : Visibility.Collapsed; public Visibility DeleteCustomFontVisibility => !String.IsNullOrEmpty(TextFontTask.NewState) ? Visibility.Visible : Visibility.Collapsed;
public System.Windows.Media.FontFamily CustomFontFont public System.Windows.Media.FontFamily DeleteCustomFontFontFamily => new System.Windows.Media.FontFamily($"{TextFontTask.NewState}#{CustomFontName}");
{
get
{
using (PrivateFontCollection collection = new PrivateFontCollection())
{
Uri uri;
if (TextFontTask.NewState == String.Empty)
{
uri = new Uri("pack://application:,,,/Resources/Fonts/Rubik-VariableFont_wght.ttf");
} else
{
uri = new Uri(TextFontTask.NewState, UriKind.Absolute);
}
var fontFamilies = Fonts.GetFontFamilies(uri);
return fontFamilies.First();
}
}
}
public string CustomFontName public string CustomFontName
{ {
get get
{ {
if (TextFontTask.NewState == String.Empty) var families = Fonts.GetFontFamilies(TextFontTask.NewState);
{ var first = families.ElementAt(0);
return String.Empty; return first.ToString().Split("#").ElementAt(first.ToString().Split("#").Count() - 1);
}
var fontFamily = CustomFontFont;
return fontFamily.FamilyNames.Values.First();
} }
} }