Skip to content

Commit afe9ed4

Browse files
committed
Initial commit
1 parent 302161c commit afe9ed4

14 files changed

+58
-10
lines changed

src/Files.App/GlobalUsings.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,10 @@
5050
global using global::Files.App.Services;
5151
global using global::Files.App.UserControls;
5252
global using global::Files.App.UserControls.TabBar;
53-
global using global::Files.App.UserControls.ViewModels.Widgets;
53+
global using global::Files.App.UserControls.Widgets;
5454
global using global::Files.App.ViewModels;
5555
global using global::Files.App.ViewModels.UserControls;
56+
global using global::Files.App.ViewModels.UserControls.Widgets;
5657
global using global::Files.App.Views;
5758
global using global::Files.App.Views.Layouts;
5859
global using global::Files.App.Views.Shells;

src/Files.App/UserControls/Widgets/DrivesWidget.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
xmlns:helpers="using:Files.App.Helpers"
99
xmlns:local="using:Files.App.UserControls.Widgets"
1010
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
11+
DataContext="{x:Bind ViewModel, Mode=OneWay}"
1112
mc:Ignorable="d">
1213

1314
<Grid>

src/Files.App/UserControls/Widgets/DrivesWidget.xaml.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ namespace Files.App.UserControls.Widgets
1818
/// </summary>
1919
public sealed partial class DrivesWidget : BaseWidgetViewModel, IWidgetViewModel, INotifyPropertyChanged
2020
{
21+
private DrivesWidgetViewModel ViewModel { get; set; }
22+
2123
public IUserSettingsService userSettingsService { get; } = Ioc.Default.GetRequiredService<IUserSettingsService>();
2224
private IHomePageContext HomePageContext { get; } = Ioc.Default.GetRequiredService<IHomePageContext>();
2325
private DrivesViewModel drivesViewModel = Ioc.Default.GetRequiredService<DrivesViewModel>();

src/Files.App/UserControls/Widgets/FileTagsWidget.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
xmlns:helpers="using:Files.App.Helpers"
1111
xmlns:local="using:Files.App.UserControls.Widgets"
1212
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
13+
DataContext="{x:Bind ViewModel, Mode=OneWay}"
1314
mc:Ignorable="d">
1415

1516
<UserControl.Resources>

src/Files.App/UserControls/Widgets/FileTagsWidget.xaml.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,11 @@ namespace Files.App.UserControls.Widgets
1818
/// </summary>
1919
public sealed partial class FileTagsWidget : BaseWidgetViewModel, IWidgetViewModel
2020
{
21+
public FileTagsWidgetViewModel ViewModel { get; set; }
22+
2123
private readonly IUserSettingsService userSettingsService;
2224
private IHomePageContext HomePageContext { get; } = Ioc.Default.GetRequiredService<IHomePageContext>();
2325

24-
public FileTagsWidgetViewModel ViewModel
25-
{
26-
get => (FileTagsWidgetViewModel)DataContext;
27-
set => DataContext = value;
28-
}
29-
3026
public IShellPage AppInstance;
3127

3228
public Func<string, Task>? OpenAction { get; set; }

src/Files.App/UserControls/Widgets/QuickAccessWidget.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
xmlns:dataitems="using:Files.App.Data.Items"
88
xmlns:local="using:Files.App.UserControls.Widgets"
99
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
10+
DataContext="{x:Bind ViewModel, Mode=OneWay}"
1011
mc:Ignorable="d">
1112

1213
<Grid>

src/Files.App/UserControls/Widgets/QuickAccessWidget.xaml.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ namespace Files.App.UserControls.Widgets
1818
/// </summary>
1919
public sealed partial class QuickAccessWidget : BaseWidgetViewModel, IWidgetViewModel, INotifyPropertyChanged
2020
{
21+
private QuickAccessWidgetViewModel ViewModel { get; set; }
22+
2123
public IUserSettingsService userSettingsService { get; } = Ioc.Default.GetRequiredService<IUserSettingsService>();
2224
private IHomePageContext HomePageContext { get; } = Ioc.Default.GetRequiredService<IHomePageContext>();
2325

src/Files.App/UserControls/Widgets/RecentFilesWidget.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
1010
xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
1111
xmlns:recent="using:Files.App.Utils.RecentItem"
12+
DataContext="{x:Bind ViewModel, Mode=OneWay}"
1213
mc:Ignorable="d">
1314

1415
<StackPanel x:Name="RecentsListGrid" Orientation="Vertical">

src/Files.App/UserControls/Widgets/RecentFilesWidget.xaml.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ namespace Files.App.UserControls.Widgets
2020
/// </summary>
2121
public sealed partial class RecentFilesWidget : BaseWidgetViewModel, IWidgetViewModel, INotifyPropertyChanged
2222
{
23+
private RecentFilesWidgetViewModel ViewModel { get; set; }
24+
2325
private IHomePageContext HomePageContext { get; } = Ioc.Default.GetRequiredService<IHomePageContext>();
2426

2527
public delegate void RecentFilesOpenLocationInvokedEventHandler(object sender, PathNavigationEventArgs e);
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// Copyright (c) 2023 Files Community
2+
// Licensed under the MIT License. See the LICENSE.
3+
4+
namespace Files.App.ViewModels.UserControls.Widgets
5+
{
6+
/// <summary>
7+
/// Represents view model of <see cref="DrivesWidget"/>.
8+
/// </summary>
9+
public class DrivesWidgetViewModel
10+
{
11+
public ObservableCollection<WidgetDriveCardItem> Items { get; } = [];
12+
}
13+
}

src/Files.App/ViewModels/UserControls/Widgets/FileTagsWidgetViewModel.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@
33

44
using Files.Shared.Utils;
55

6-
namespace Files.App.UserControls.ViewModels.Widgets
6+
namespace Files.App.ViewModels.UserControls.Widgets
77
{
8+
/// <summary>
9+
/// Represents view model of <see cref="FileTagsWidget"/>.
10+
/// </summary>
811
public sealed partial class FileTagsWidgetViewModel : ObservableObject, IAsyncInitialize
912
{
1013
// Dependency injections
@@ -17,14 +20,13 @@ public sealed partial class FileTagsWidgetViewModel : ObservableObject, IAsyncIn
1720

1821
// Properties
1922

20-
public ObservableCollection<WidgetFileTagsContainerItem> Containers { get; }
23+
public ObservableCollection<WidgetFileTagsContainerItem> Containers { get; } = [];
2124

2225
// Constructor
2326

2427
public FileTagsWidgetViewModel(Func<string, Task> openAction)
2528
{
2629
_openAction = openAction;
27-
Containers = new();
2830
}
2931

3032
// Methods
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// Copyright (c) 2023 Files Community
2+
// Licensed under the MIT License. See the LICENSE.
3+
4+
namespace Files.App.ViewModels.UserControls.Widgets
5+
{
6+
/// <summary>
7+
/// Represents view model of <see cref="QuickAccessWidget"/>.
8+
/// </summary>
9+
public class QuickAccessWidgetViewModel
10+
{
11+
public ObservableCollection<WidgetFolderCardItem> Items { get; } = [];
12+
}
13+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// Copyright (c) 2023 Files Community
2+
// Licensed under the MIT License. See the LICENSE.
3+
4+
namespace Files.App.ViewModels.UserControls.Widgets
5+
{
6+
/// <summary>
7+
/// Represents view model of <see cref="RecentFilesWidget"/>.
8+
/// </summary>
9+
public class RecentFilesWidgetViewModel
10+
{
11+
public ObservableCollection<RecentItem> Items { get; } = [];
12+
}
13+
}

0 commit comments

Comments
 (0)