Loading INAF.Apps.Uwp.SLabDataManager/App.xaml.cs +2 −3 Original line number Diff line number Diff line Loading @@ -11,7 +11,6 @@ using INAF.Apps.Uwp.SLabDataManager.Models.Chart; using INAF.Apps.Uwp.SLabDataManager.Models.Chart.Fit; using INAF.Apps.Uwp.SLabDataManager.Models.Charts; using INAF.Apps.Uwp.SLabDataManager.Models.Containers; using INAF.Apps.Uwp.SLabDataManager.Models.Logbook; using INAF.Apps.Uwp.SLabDataManager.Services; using INAF.Apps.Uwp.SLabDataManager.ViewModels; using INAF.Apps.Uwp.SLabDataManager.ViewModels.ContentDialogsViewModel; Loading @@ -22,7 +21,7 @@ using INAF.Libraries.NetStandard.Math.Smoothing; using INAF.Libraries.Uwp.Logging; using INAF.Libraries.Uwp.RemoteAuthentication; using INAF.Libraries.Uwp.Settings; using INAF.Libraries.Uwp.Settings.RecentFiles; using INAF.Libraries.Uwp.Settings.RecentStorageItems; using INAF.Libraries.Uwp.StorageItemsAccess; using INAF.Libraries.Uwp.Xml; using Microsoft.AppCenter; Loading Loading @@ -129,7 +128,7 @@ namespace INAF.Apps.Uwp.SLabDataManager .AddSingleton<LogBookViewModel>() .AddSingleton<Logger>(logger) .AddSingleton<PermissionsHelper>() .AddSingleton<RecentFilesHelper>() .AddSingleton<RecentStorageItemsHelper>() .AddSingleton<RemoteOperationsRepository>() .AddSingleton<SecondaryWindowHelper>() .AddSingleton<SegmentFitModelsFactory>() Loading INAF.Apps.Uwp.SLabDataManager/Converters/Converters.cs +7 −5 Original line number Diff line number Diff line Loading @@ -257,11 +257,13 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters string[] tmp = filepath.Split(Path.DirectorySeparatorChar); if (tmp.Length > 4) { List<string> list = new List<string>(); list.Add(tmp[0]); list.Add("..."); list.Add(tmp[tmp.Length - 2]); list.Add(tmp[tmp.Length - 1]); List<string> list = new List<string> { tmp[0], "...", tmp[tmp.Length - 2], tmp[tmp.Length - 1] }; shortFilepath = string.Join(Path.DirectorySeparatorChar, list); } Loading INAF.Apps.Uwp.SLabDataManager/Models/Containers/RecentStorageItemsContainer.cs +7 −7 Original line number Diff line number Diff line using CommunityToolkit.Mvvm.ComponentModel; using INAF.Libraries.Uwp.Settings.RecentFiles; using INAF.Libraries.Uwp.Settings.RecentStorageItems; using System.Collections.Generic; using System.Linq; namespace INAF.Apps.Uwp.SLabDataManager.Models.Containers { public sealed class RecentFilesContainer : ObservableObject public sealed class RecentStorageItemsContainer : ObservableObject { public RecentFilesContainer() public RecentStorageItemsContainer() { AreAvailable = false; } Loading @@ -19,20 +19,20 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models.Containers private set { areAvailable = value; } } private List<RecentFileModel> recentFiles; public List<RecentFileModel> RecentFiles private List<RecentStorageItemModel> recentFiles; public List<RecentStorageItemModel> RecentFiles { get { return recentFiles; } private set { SetProperty(ref recentFiles, value); } } public void addItems(IEnumerable<RecentFileModel> recentFiles) public void addItems(IEnumerable<RecentStorageItemModel> recentFiles) { RecentFiles = recentFiles.ToList(); AreAvailable = true; } public RecentFileModel getLastSelected() public RecentStorageItemModel getLastSelected() { return recentFiles[0]; } Loading INAF.Apps.Uwp.SLabDataManager/Styles/Custom.xaml +44 −0 Original line number Diff line number Diff line Loading @@ -517,6 +517,50 @@ </Border> </ControlTemplate> <Flyout x:Name="RecentFilesFlyout" x:Key="RecentFilesFlyout" Placement="BottomEdgeAlignedLeft"> <Flyout.FlyoutPresenterStyle> <Style TargetType="FlyoutPresenter"> <Setter Property="Width" Value="600" /> <Setter Property="Padding" Value="0" /> <Setter Property="Margin" Value="0" /> <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"></Setter> </Style> </Flyout.FlyoutPresenterStyle> <Grid Width="600"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <TextBlock x:Uid="RecentFilesFlyoutNoItemsMessage" Visibility="{Binding Path=AreAvailable, Converter={StaticResource BoolToVisibilityInverseConverter}, Mode=OneWay}" Margin="8" Grid.Row="0" /> <ListView ItemsSource="{Binding Path=RecentFiles, Mode=OneWay}" IsItemClickEnabled="True" SelectionMode="Single" Visibility="{Binding Path=AreAvailable, Converter={StaticResource BoolToVisibilityConverter}, Mode=OneWay}" Grid.Row="1"> <!-- TEMPLATE --> <ListView.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding Path, Converter={StaticResource ShortFilepathConverter}, Mode=OneWay}" FontSize="14" Margin="2,4" TextTrimming="CharacterEllipsis"/> </DataTemplate> </ListView.ItemTemplate> <!-- BEHAVIORS --> <Interactivity:Interaction.Behaviors> <Core:EventTriggerBehavior EventName="ItemClick"> <Core:InvokeCommandAction Command="{Binding CommandOpenSelectedSpectrumFile}"/> </Core:EventTriggerBehavior> </Interactivity:Interaction.Behaviors> </ListView> </Grid> </Flyout> <!-- APP THEMES --> <ResourceDictionary.ThemeDictionaries> <ResourceDictionary x:Key="Dark"> Loading INAF.Apps.Uwp.SLabDataManager/ViewModels/BaseViewModel.cs +2 −3 Original line number Diff line number Diff line Loading @@ -7,10 +7,9 @@ using INAF.Apps.Uwp.SLabDataManager.Models; using INAF.Apps.Uwp.SLabDataManager.Models.Containers; using INAF.Apps.Uwp.SLabDataManager.ViewModels.ContentDialogsViewModel; using INAF.Apps.Uwp.SLabDataManager.Views; using INAF.Libraries.NetStandard.Extensions; using INAF.Libraries.Uwp.Logging; using INAF.Libraries.Uwp.Settings; using INAF.Libraries.Uwp.Settings.RecentFiles; using INAF.Libraries.Uwp.Settings.RecentStorageItems; using INAF.Libraries.Uwp.StorageItemsAccess; using Microsoft.Extensions.DependencyInjection; using Microsoft.UI.Xaml.Controls; Loading Loading @@ -217,7 +216,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels /* clear REFWHITE white (it is not removed by removing the RAW one because is NOT considered as a 'child' spectrum) */ WorkingItems.SpectraContainer.tryRemoveSpectrumOfTypeAsync(SpectrumType.RefWhite); var recentFilesHelper = serviceProvider.GetRequiredService<RecentFilesHelper>(); var recentFilesHelper = serviceProvider.GetRequiredService<RecentStorageItemsHelper>(); recentFilesHelper.clear(SpectrumType.Raw.ToString()); recentFilesHelper.clear(SpectrumType.Ref.ToString()); recentFilesHelper.clear(SpectrumType.RefWhite.ToString()); Loading Loading
INAF.Apps.Uwp.SLabDataManager/App.xaml.cs +2 −3 Original line number Diff line number Diff line Loading @@ -11,7 +11,6 @@ using INAF.Apps.Uwp.SLabDataManager.Models.Chart; using INAF.Apps.Uwp.SLabDataManager.Models.Chart.Fit; using INAF.Apps.Uwp.SLabDataManager.Models.Charts; using INAF.Apps.Uwp.SLabDataManager.Models.Containers; using INAF.Apps.Uwp.SLabDataManager.Models.Logbook; using INAF.Apps.Uwp.SLabDataManager.Services; using INAF.Apps.Uwp.SLabDataManager.ViewModels; using INAF.Apps.Uwp.SLabDataManager.ViewModels.ContentDialogsViewModel; Loading @@ -22,7 +21,7 @@ using INAF.Libraries.NetStandard.Math.Smoothing; using INAF.Libraries.Uwp.Logging; using INAF.Libraries.Uwp.RemoteAuthentication; using INAF.Libraries.Uwp.Settings; using INAF.Libraries.Uwp.Settings.RecentFiles; using INAF.Libraries.Uwp.Settings.RecentStorageItems; using INAF.Libraries.Uwp.StorageItemsAccess; using INAF.Libraries.Uwp.Xml; using Microsoft.AppCenter; Loading Loading @@ -129,7 +128,7 @@ namespace INAF.Apps.Uwp.SLabDataManager .AddSingleton<LogBookViewModel>() .AddSingleton<Logger>(logger) .AddSingleton<PermissionsHelper>() .AddSingleton<RecentFilesHelper>() .AddSingleton<RecentStorageItemsHelper>() .AddSingleton<RemoteOperationsRepository>() .AddSingleton<SecondaryWindowHelper>() .AddSingleton<SegmentFitModelsFactory>() Loading
INAF.Apps.Uwp.SLabDataManager/Converters/Converters.cs +7 −5 Original line number Diff line number Diff line Loading @@ -257,11 +257,13 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters string[] tmp = filepath.Split(Path.DirectorySeparatorChar); if (tmp.Length > 4) { List<string> list = new List<string>(); list.Add(tmp[0]); list.Add("..."); list.Add(tmp[tmp.Length - 2]); list.Add(tmp[tmp.Length - 1]); List<string> list = new List<string> { tmp[0], "...", tmp[tmp.Length - 2], tmp[tmp.Length - 1] }; shortFilepath = string.Join(Path.DirectorySeparatorChar, list); } Loading
INAF.Apps.Uwp.SLabDataManager/Models/Containers/RecentStorageItemsContainer.cs +7 −7 Original line number Diff line number Diff line using CommunityToolkit.Mvvm.ComponentModel; using INAF.Libraries.Uwp.Settings.RecentFiles; using INAF.Libraries.Uwp.Settings.RecentStorageItems; using System.Collections.Generic; using System.Linq; namespace INAF.Apps.Uwp.SLabDataManager.Models.Containers { public sealed class RecentFilesContainer : ObservableObject public sealed class RecentStorageItemsContainer : ObservableObject { public RecentFilesContainer() public RecentStorageItemsContainer() { AreAvailable = false; } Loading @@ -19,20 +19,20 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models.Containers private set { areAvailable = value; } } private List<RecentFileModel> recentFiles; public List<RecentFileModel> RecentFiles private List<RecentStorageItemModel> recentFiles; public List<RecentStorageItemModel> RecentFiles { get { return recentFiles; } private set { SetProperty(ref recentFiles, value); } } public void addItems(IEnumerable<RecentFileModel> recentFiles) public void addItems(IEnumerable<RecentStorageItemModel> recentFiles) { RecentFiles = recentFiles.ToList(); AreAvailable = true; } public RecentFileModel getLastSelected() public RecentStorageItemModel getLastSelected() { return recentFiles[0]; } Loading
INAF.Apps.Uwp.SLabDataManager/Styles/Custom.xaml +44 −0 Original line number Diff line number Diff line Loading @@ -517,6 +517,50 @@ </Border> </ControlTemplate> <Flyout x:Name="RecentFilesFlyout" x:Key="RecentFilesFlyout" Placement="BottomEdgeAlignedLeft"> <Flyout.FlyoutPresenterStyle> <Style TargetType="FlyoutPresenter"> <Setter Property="Width" Value="600" /> <Setter Property="Padding" Value="0" /> <Setter Property="Margin" Value="0" /> <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"></Setter> </Style> </Flyout.FlyoutPresenterStyle> <Grid Width="600"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <TextBlock x:Uid="RecentFilesFlyoutNoItemsMessage" Visibility="{Binding Path=AreAvailable, Converter={StaticResource BoolToVisibilityInverseConverter}, Mode=OneWay}" Margin="8" Grid.Row="0" /> <ListView ItemsSource="{Binding Path=RecentFiles, Mode=OneWay}" IsItemClickEnabled="True" SelectionMode="Single" Visibility="{Binding Path=AreAvailable, Converter={StaticResource BoolToVisibilityConverter}, Mode=OneWay}" Grid.Row="1"> <!-- TEMPLATE --> <ListView.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding Path, Converter={StaticResource ShortFilepathConverter}, Mode=OneWay}" FontSize="14" Margin="2,4" TextTrimming="CharacterEllipsis"/> </DataTemplate> </ListView.ItemTemplate> <!-- BEHAVIORS --> <Interactivity:Interaction.Behaviors> <Core:EventTriggerBehavior EventName="ItemClick"> <Core:InvokeCommandAction Command="{Binding CommandOpenSelectedSpectrumFile}"/> </Core:EventTriggerBehavior> </Interactivity:Interaction.Behaviors> </ListView> </Grid> </Flyout> <!-- APP THEMES --> <ResourceDictionary.ThemeDictionaries> <ResourceDictionary x:Key="Dark"> Loading
INAF.Apps.Uwp.SLabDataManager/ViewModels/BaseViewModel.cs +2 −3 Original line number Diff line number Diff line Loading @@ -7,10 +7,9 @@ using INAF.Apps.Uwp.SLabDataManager.Models; using INAF.Apps.Uwp.SLabDataManager.Models.Containers; using INAF.Apps.Uwp.SLabDataManager.ViewModels.ContentDialogsViewModel; using INAF.Apps.Uwp.SLabDataManager.Views; using INAF.Libraries.NetStandard.Extensions; using INAF.Libraries.Uwp.Logging; using INAF.Libraries.Uwp.Settings; using INAF.Libraries.Uwp.Settings.RecentFiles; using INAF.Libraries.Uwp.Settings.RecentStorageItems; using INAF.Libraries.Uwp.StorageItemsAccess; using Microsoft.Extensions.DependencyInjection; using Microsoft.UI.Xaml.Controls; Loading Loading @@ -217,7 +216,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels /* clear REFWHITE white (it is not removed by removing the RAW one because is NOT considered as a 'child' spectrum) */ WorkingItems.SpectraContainer.tryRemoveSpectrumOfTypeAsync(SpectrumType.RefWhite); var recentFilesHelper = serviceProvider.GetRequiredService<RecentFilesHelper>(); var recentFilesHelper = serviceProvider.GetRequiredService<RecentStorageItemsHelper>(); recentFilesHelper.clear(SpectrumType.Raw.ToString()); recentFilesHelper.clear(SpectrumType.Ref.ToString()); recentFilesHelper.clear(SpectrumType.RefWhite.ToString()); Loading