From 0f5b520aa44faedbdbab4cdc1020384e9720fe8d Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Fri, 5 Apr 2013 16:57:42 +0400 Subject: ThreadView progressIndicator, small fixes --- Juick/MainPage.xaml.cs | 9 ++++----- Juick/ThreadView.xaml.cs | 32 +++++++++++++++++++++++++++++--- 2 files changed, 33 insertions(+), 8 deletions(-) (limited to 'Juick') diff --git a/Juick/MainPage.xaml.cs b/Juick/MainPage.xaml.cs index 1c76ee1..b37bd8f 100644 --- a/Juick/MainPage.xaml.cs +++ b/Juick/MainPage.xaml.cs @@ -67,7 +67,6 @@ namespace Juick Loaded += (o, args) => { - Pages.SelectedIndex = 0; var progressIndicator = SystemTray.ProgressIndicator; if (progressIndicator != null) @@ -88,6 +87,9 @@ namespace Juick BindingOperations.SetBinding( progressIndicator, ProgressIndicator.IsIndeterminateProperty, binding); + if (App.AppContext.Account.IsAuthenticated) + foreach (var page in ((AppViewModel)DataContext).Pages) + page.RefreshData(); }; } @@ -113,10 +115,7 @@ namespace Juick { NavigationService.Navigate(new Uri(navigateUri, UriKind.Relative)); } - App.AppContext.Client.Authenticator = new HttpBasicAuthenticator(App.AppContext.Account.UserName, App.AppContext.Account.Password); - if (App.AppContext.Account.IsAuthenticated) - foreach (var page in ((AppViewModel)DataContext).Pages) - page.RefreshData(); + App.AppContext.Client.Authenticator = new HttpBasicAuthenticator(App.AppContext.Account.UserName, App.AppContext.Account.Password); } diff --git a/Juick/ThreadView.xaml.cs b/Juick/ThreadView.xaml.cs index 5c1c0fc..b197a8b 100644 --- a/Juick/ThreadView.xaml.cs +++ b/Juick/ThreadView.xaml.cs @@ -4,6 +4,9 @@ using System.Windows.Controls; using System.Windows.Navigation; using Juick.ViewModels; using Microsoft.Phone.Controls; +using Microsoft.Phone.Shell; +using System.Windows.Data; +using System.Windows; namespace Juick { @@ -14,10 +17,32 @@ namespace Juick InitializeComponent(); Model = new ThreadViewModel(App.AppContext); DataContext = Model; + Loaded += (o, args) => + { + var progressIndicator = SystemTray.ProgressIndicator; + + if (progressIndicator != null) + { + return; + } + progressIndicator = new ProgressIndicator(); + + SystemTray.SetProgressIndicator(this, progressIndicator); + + Binding binding = new Binding("IsDataLoading") { Source = App.AppContext }; + + BindingOperations.SetBinding( + progressIndicator, ProgressIndicator.IsVisibleProperty, binding); + + binding = new Binding("IsDataLoading") { Source = App.AppContext }; + + BindingOperations.SetBinding( + progressIndicator, ProgressIndicator.IsIndeterminateProperty, binding); + }; } public ThreadViewModel Model; - + // When page is navigated to set data context to selected item in list protected override void OnNavigatedTo(NavigationEventArgs e) { @@ -28,6 +53,7 @@ namespace Juick { Model.Mid = int.Parse(_mid); } + Model.RefreshData(); } private void ListBox_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e) @@ -37,11 +63,11 @@ namespace Juick return; // Navigate to the new page - var item = Model.Items[((ListBox) sender).SelectedIndex]; + var item = Model.Items[((ListBox)sender).SelectedIndex]; var destUri = string.Format("/NewPostView.xaml?mid={0}", item.MID); if (item.RID > 0) destUri += string.Format("&rid={0}", item.RID); - NavigationService.Navigate(new Uri(destUri , UriKind.Relative)); + NavigationService.Navigate(new Uri(destUri, UriKind.Relative)); // Reset selected index to -1 (no selection) ((ListBox)sender).SelectedIndex = -1; -- cgit v1.2.3