diff --git a/AideDeJeu/AideDeJeu.Android/Resources/Resource.designer.cs b/AideDeJeu/AideDeJeu.Android/Resources/Resource.designer.cs index 39f1b71d..8a47c656 100644 --- a/AideDeJeu/AideDeJeu.Android/Resources/Resource.designer.cs +++ b/AideDeJeu/AideDeJeu.Android/Resources/Resource.designer.cs @@ -1,11 +1,11 @@ #pragma warning disable 1591 //------------------------------------------------------------------------------ // -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 +// Ce code a été généré par un outil. +// Version du runtime :4.0.30319.42000 // -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si +// le code est régénéré. // //------------------------------------------------------------------------------ diff --git a/AideDeJeu/AideDeJeu/ViewModels/DeepSearchViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/DeepSearchViewModel.cs index b0ff8aeb..a4cf2b19 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/DeepSearchViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/DeepSearchViewModel.cs @@ -24,10 +24,16 @@ namespace AideDeJeu.ViewModels public async Task ExecuteSearchCommandAsync(string searchText) { - Main.IsLoading = true; - //await Task.Run(async () => await Store.PreloadAllItemsAsync()); - Items = await Task.Run(async () => await DeepSearchAllItemsAsync(searchText)); - Main.IsLoading = false; + try + { + Main.IsLoading = true; + //await Task.Run(async () => await Store.PreloadAllItemsAsync()); + Items = await Task.Run(async () => await DeepSearchAllItemsAsync(searchText)); + } + finally + { + Main.IsLoading = false; + } } public IEnumerable _Items = null; diff --git a/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs index e7b8c3a2..f5b11654 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs @@ -16,8 +16,20 @@ namespace AideDeJeu.ViewModels public bool IsLoading { get => _isLoading; - set => SetProperty(ref _isLoading, value); + set + { + SetProperty(ref _isLoading, value); + OnPropertyChanged(nameof(IsEnabled)); + + } } + + public bool IsEnabled + { + get => !_isLoading; + } + + /* void AddAnchor(string source, Dictionary anchors, Item item) { diff --git a/AideDeJeu/AideDeJeu/ViewModels/Navigator.cs b/AideDeJeu/AideDeJeu/ViewModels/Navigator.cs index 7ad65ba7..5e94abc1 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/Navigator.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/Navigator.cs @@ -157,11 +157,18 @@ namespace AideDeJeu.ViewModels var file = match.Groups["file"].Value; var anchor = match.Groups["anchor"].Value; var with = match.Groups["with"].Value; - Main.IsBusy = true; - Main.IsLoading = true; - var item = await Task.Run(async () => await Store.GetItemFromDataAsync(file, anchor)); - Main.IsBusy = false; - Main.IsLoading = false; + Item item = null; + try + { + Main.IsBusy = true; + Main.IsLoading = true; + item = await Task.Run(async () => await Store.GetItemFromDataAsync(file, anchor)); + } + finally + { + Main.IsBusy = false; + Main.IsLoading = false; + } if (item != null) { var items = item; // as Items; diff --git a/AideDeJeu/AideDeJeu/Views/MainTabbedPage.xaml b/AideDeJeu/AideDeJeu/Views/MainTabbedPage.xaml index 6daaf3d1..4c770c5c 100644 --- a/AideDeJeu/AideDeJeu/Views/MainTabbedPage.xaml +++ b/AideDeJeu/AideDeJeu/Views/MainTabbedPage.xaml @@ -7,6 +7,7 @@ xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core" x:Class="AideDeJeu.Views.MainTabbedPage" Padding="0" + IsEnabled="{Binding Main.IsEnabled}" android:TabbedPage.ToolbarPlacement="Bottom" android:TabbedPage.IsSwipePagingEnabled="False" android:TabbedPage.BarItemColor="{StaticResource HDMidGrey}" diff --git a/AideDeJeu/AideDeJeu/Views/MainTabbedPage.xaml.cs b/AideDeJeu/AideDeJeu/Views/MainTabbedPage.xaml.cs index 0c430fb1..f26866f5 100644 --- a/AideDeJeu/AideDeJeu/Views/MainTabbedPage.xaml.cs +++ b/AideDeJeu/AideDeJeu/Views/MainTabbedPage.xaml.cs @@ -1,4 +1,5 @@ -using System; +using AideDeJeu.ViewModels; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -23,9 +24,19 @@ namespace AideDeJeu.Views this.NavigationPage = value; } } + + public MainViewModel Main + { + get + { + return DependencyService.Get(); + } + } + public MainTabbedPage () { InitializeComponent(); + BindingContext = this; } } } \ No newline at end of file