From be6de65f85c1c39bf6e0d3342af0042a7118f4d2 Mon Sep 17 00:00:00 2001 From: Laurent <2-naaturel@users.noreply.gitlab.example.com> Date: Mon, 16 Feb 2026 22:44:44 +0100 Subject: [PATCH] Added main structure --- GifResizer/App.xaml | 3 +- GifResizer/App.xaml.cs | 11 ++++ GifResizer/GifResizer.csproj | 2 + GifResizer/MainWindow.xaml | 12 ----- GifResizer/MainWindow.xaml.cs | 23 -------- GifResizer/Models/Gif.cs | 6 +++ GifResizer/Service/ResizeService.cs | 6 +++ GifResizer/ViewModels/MainViewModel.cs | 37 +++++++++++++ GifResizer/Views/MainWindow.xaml | 73 ++++++++++++++++++++++++++ GifResizer/Views/MainWindow.xaml.cs | 40 ++++++++++++++ 10 files changed, 176 insertions(+), 37 deletions(-) delete mode 100644 GifResizer/MainWindow.xaml delete mode 100644 GifResizer/MainWindow.xaml.cs create mode 100644 GifResizer/Models/Gif.cs create mode 100644 GifResizer/Service/ResizeService.cs create mode 100644 GifResizer/ViewModels/MainViewModel.cs create mode 100644 GifResizer/Views/MainWindow.xaml create mode 100644 GifResizer/Views/MainWindow.xaml.cs diff --git a/GifResizer/App.xaml b/GifResizer/App.xaml index f4da587..2781582 100644 --- a/GifResizer/App.xaml +++ b/GifResizer/App.xaml @@ -1,8 +1,7 @@  + xmlns:local="clr-namespace:GifResizer"> diff --git a/GifResizer/App.xaml.cs b/GifResizer/App.xaml.cs index 130b2c2..99dfa38 100644 --- a/GifResizer/App.xaml.cs +++ b/GifResizer/App.xaml.cs @@ -1,6 +1,8 @@ using System.Configuration; using System.Data; using System.Windows; +using GifResizer.ViewModels; +using GifResizer.Views; namespace GifResizer; @@ -9,4 +11,13 @@ namespace GifResizer; /// public partial class App : Application { + protected override void OnStartup(StartupEventArgs e) + { + base.OnStartup(e); + + var viewModel = new MainViewModel(); + var mainWindow = new MainWindow(viewModel); + + mainWindow.Show(); + } } \ No newline at end of file diff --git a/GifResizer/GifResizer.csproj b/GifResizer/GifResizer.csproj index 212659c..50aaf7b 100644 --- a/GifResizer/GifResizer.csproj +++ b/GifResizer/GifResizer.csproj @@ -8,4 +8,6 @@ true + + diff --git a/GifResizer/MainWindow.xaml b/GifResizer/MainWindow.xaml deleted file mode 100644 index 5faffbb..0000000 --- a/GifResizer/MainWindow.xaml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - diff --git a/GifResizer/MainWindow.xaml.cs b/GifResizer/MainWindow.xaml.cs deleted file mode 100644 index 9cb5aec..0000000 --- a/GifResizer/MainWindow.xaml.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.Text; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Data; -using System.Windows.Documents; -using System.Windows.Input; -using System.Windows.Media; -using System.Windows.Media.Imaging; -using System.Windows.Navigation; -using System.Windows.Shapes; - -namespace GifResizer; - -/// -/// Interaction logic for MainWindow.xaml -/// -public partial class MainWindow : Window -{ - public MainWindow() - { - InitializeComponent(); - } -} \ No newline at end of file diff --git a/GifResizer/Models/Gif.cs b/GifResizer/Models/Gif.cs new file mode 100644 index 0000000..b468d18 --- /dev/null +++ b/GifResizer/Models/Gif.cs @@ -0,0 +1,6 @@ +namespace GifResizer.Models; + +public class Gif +{ + +} \ No newline at end of file diff --git a/GifResizer/Service/ResizeService.cs b/GifResizer/Service/ResizeService.cs new file mode 100644 index 0000000..3cde8c4 --- /dev/null +++ b/GifResizer/Service/ResizeService.cs @@ -0,0 +1,6 @@ +namespace GifResizer.Service; + +public class ResizeService +{ + +} \ No newline at end of file diff --git a/GifResizer/ViewModels/MainViewModel.cs b/GifResizer/ViewModels/MainViewModel.cs new file mode 100644 index 0000000..777f973 --- /dev/null +++ b/GifResizer/ViewModels/MainViewModel.cs @@ -0,0 +1,37 @@ +using System.ComponentModel; +using System.IO; +using System.Runtime.CompilerServices; + +namespace GifResizer.ViewModels; + +public class MainViewModel : INotifyPropertyChanged +{ + + + public event PropertyChangedEventHandler? PropertyChanged; + + public MainViewModel() + { + FilePath = Directory.GetCurrentDirectory(); + } + + + public string FilePath + { + get; + set => SetField(ref field, value); + } + + private bool SetField(ref T field, T value, [CallerMemberName] string? propertyName = null) + { + if (EqualityComparer.Default.Equals(field, value)) return false; + field = value; + OnPropertyChanged(propertyName); + return true; + } + + protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } +} \ No newline at end of file diff --git a/GifResizer/Views/MainWindow.xaml b/GifResizer/Views/MainWindow.xaml new file mode 100644 index 0000000..93cc274 --- /dev/null +++ b/GifResizer/Views/MainWindow.xaml @@ -0,0 +1,73 @@ + + + + + + + + + +