mirror of
https://github.com/ckaczor/FloatingStatusWindow.git
synced 2026-01-14 09:59:12 -05:00
51 lines
1.4 KiB
C#
51 lines
1.4 KiB
C#
using Common.Wpf.Extensions;
|
|
using System.Linq;
|
|
using System.Windows.Media;
|
|
|
|
namespace FloatingStatusWindowLibrary
|
|
{
|
|
internal partial class AppearanceWindow
|
|
{
|
|
private WindowSettings _currentSettings;
|
|
|
|
private readonly WindowSettings _originalSettings;
|
|
|
|
public AppearanceWindow(WindowSettings windowSettings)
|
|
{
|
|
InitializeComponent();
|
|
|
|
_currentSettings = windowSettings;
|
|
|
|
_originalSettings = (WindowSettings) _currentSettings.Clone();
|
|
|
|
var allFonts = Fonts.SystemFontFamilies.OrderBy(x => x.Source);
|
|
|
|
var filteredFonts = allFonts.Where(f => FontExtensions.IsComposite(f) || (!FontExtensions.IsSymbol(f) && FontExtensions.IsVisible(f)));
|
|
|
|
FontNameCombo.ItemsSource = filteredFonts;
|
|
|
|
DataContext = _currentSettings;
|
|
}
|
|
|
|
private void HandleOkayButtonClick(object sender, System.Windows.RoutedEventArgs e)
|
|
{
|
|
DialogResult = true;
|
|
Close();
|
|
}
|
|
|
|
private void HandleWindowSourceUpdated(object sender, System.Windows.Data.DataTransferEventArgs e)
|
|
{
|
|
_currentSettings.Apply();
|
|
}
|
|
|
|
private void HandleWindowClosing(object sender, System.ComponentModel.CancelEventArgs e)
|
|
{
|
|
if (DialogResult == true)
|
|
return;
|
|
|
|
_currentSettings = _originalSettings;
|
|
_currentSettings.Apply();
|
|
}
|
|
}
|
|
}
|