diff --git a/9Contatos/API/Outlook/OutlookAPI.cs b/9Contatos/API/Outlook/OutlookAPI.cs index a720d34..05b1611 100644 --- a/9Contatos/API/Outlook/OutlookAPI.cs +++ b/9Contatos/API/Outlook/OutlookAPI.cs @@ -49,7 +49,6 @@ public static async Task GetTokenForUserAsync() /* * Se já temos o Token então não precisamos checa-lo. */ - // return TokenForUser; } else { diff --git a/9Contatos/Globais.cs b/9Contatos/Globais.cs index 762553c..7a16d05 100644 --- a/9Contatos/Globais.cs +++ b/9Contatos/Globais.cs @@ -51,6 +51,8 @@ class Globais public static bool Contatos_Carregados = false; public static bool Contatos_Bloqueados_Pelo_User = false; + public static bool MainPage_Bloqueia_Listview = false; + diff --git a/9Contatos/Interface/MainPage.xaml b/9Contatos/Interface/MainPage.xaml index b20e18a..dfd5a9c 100644 --- a/9Contatos/Interface/MainPage.xaml +++ b/9Contatos/Interface/MainPage.xaml @@ -62,7 +62,7 @@ - + diff --git a/9Contatos/Interface/MainPage.xaml.cs b/9Contatos/Interface/MainPage.xaml.cs index 1a80c8d..35e2053 100644 --- a/9Contatos/Interface/MainPage.xaml.cs +++ b/9Contatos/Interface/MainPage.xaml.cs @@ -16,6 +16,7 @@ using _9Contatos.API.PeopleAPP; using System.Net.NetworkInformation; using _9Contatos.InternetTools; +using Windows.UI.Core; // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 @@ -45,122 +46,142 @@ public MainPage() private async void bt_Sobre_Click(object sender, TappedRoutedEventArgs e) { - this.Frame.Navigate(typeof(_9Contatos.Interface.Sobre)); - + if (Globais.MainPage_Bloqueia_Listview == false) + { + this.Frame.Navigate(typeof(_9Contatos.Interface.Sobre)); + } } private async void bt_donate(object sender, TappedRoutedEventArgs e) { - OptionBox_Donate dialog = new OptionBox_Donate(); - await dialog.ShowAsync(); + if (Globais.MainPage_Bloqueia_Listview == false) + { + OptionBox_Donate dialog = new OptionBox_Donate(); + await dialog.ShowAsync(); + } } private async void bt_arrumar(object sender, TappedRoutedEventArgs e) { - ProgressBar.Visibility = Visibility.Visible; - bool Carregar = false; - //teste de crash - switch (Globais.api_usada) + + if (Globais.MainPage_Bloqueia_Listview == false) { - case QualAPI.PeopleAPI_COM_Alteracao: - Carregar = await CarregaContatos.Carrega(QualAPI.PeopleAPI_COM_Alteracao); - ProgressBar.Visibility = Visibility.Collapsed; - if (Carregar == true) - { - if (Globais.contatos.Count() == 0) - { - var pergunta = new MessageDialog("Como não tem nenhum contato na agenda você não poderá editar nada."); - pergunta.Title = "Nenhum contato encontrado"; - pergunta.Commands.Add(new UICommand { Label = "Entendi", Id = 0 }); - pergunta.ShowAsync(); - } - else + Globais.MainPage_Bloqueia_Listview = true; + ProgressBar.Visibility = Visibility.Visible; + ListaOpcoes.SelectionMode = ListViewSelectionMode.None; //bloqueia a listview para evitar duplo cliques + bool Carregar = false; + //teste de crash + switch (Globais.api_usada) + { + case QualAPI.PeopleAPI_COM_Alteracao: + Carregar = await CarregaContatos.Carrega(QualAPI.PeopleAPI_COM_Alteracao); + ProgressBar.Visibility = Visibility.Collapsed; + if (Carregar == true) { - this.Frame.Navigate(typeof(_9Contatos.Interface.TelaContatos)); + if (Globais.contatos.Count() == 0) + { + var pergunta = new MessageDialog("Como não tem nenhum contato na agenda você não poderá editar nada."); + pergunta.Title = "Nenhum contato encontrado"; + pergunta.Commands.Add(new UICommand { Label = "Entendi", Id = 0 }); + pergunta.ShowAsync(); + } + else + { + this.Frame.Navigate(typeof(_9Contatos.Interface.TelaContatos)); + } } - } - break; + break; - case QualAPI.PeopleAPI: + case QualAPI.PeopleAPI: - Carregar = await CarregaContatos.Carrega(QualAPI.PeopleAPI); - ProgressBar.Visibility = Visibility.Collapsed; - if (Carregar == true) - { - if (Globais.contatos.Count() == 0) + Carregar = await CarregaContatos.Carrega(QualAPI.PeopleAPI); + ProgressBar.Visibility = Visibility.Collapsed; + if (Carregar == true) { - var pergunta = new MessageDialog("Como não tem nenhum contato na agenda você não poderá editar nada."); - pergunta.Title = "Nenhum contato encontrado"; - pergunta.Commands.Add(new UICommand { Label = "Entendi", Id = 0 }); - pergunta.ShowAsync(); + if (Globais.contatos.Count() == 0) + { + var pergunta = new MessageDialog("Como não tem nenhum contato na agenda você não poderá editar nada."); + pergunta.Title = "Nenhum contato encontrado"; + pergunta.Commands.Add(new UICommand { Label = "Entendi", Id = 0 }); + pergunta.ShowAsync(); + } + else + { + this.Frame.Navigate(typeof(_9Contatos.Interface.TelaContatos)); + } } else { - this.Frame.Navigate(typeof(_9Contatos.Interface.TelaContatos)); + ProgressBar.Visibility = Visibility.Collapsed; } - } - else - { - ProgressBar.Visibility = Visibility.Collapsed; - } - break; + break; - case QualAPI.OutlookAPI: + case QualAPI.OutlookAPI: - if (Internet.CheckInternetConectivity() == true) - { - try + if (Internet.CheckInternetConectivity() == true) { - Carregar = await CarregaContatos.Carrega(QualAPI.OutlookAPI); - if (Carregar == true) + try { - Frame.Navigate(typeof(_9Contatos.Interface.TelaContatos)); + Carregar = await CarregaContatos.Carrega(QualAPI.OutlookAPI); + if (Carregar == true) + { + await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => this.Frame.Navigate(typeof(_9Contatos.Interface.TelaContatos))); + // Frame.Navigate(typeof(_9Contatos.Interface.TelaContatos)); + } + else + { + ProgressBar.Visibility = Visibility.Collapsed; + } } - else + catch (Microsoft.Identity.Client.MsalServiceException) { - ProgressBar.Visibility = Visibility.Collapsed; + //faz nada já que não fez login.... } } - catch (Microsoft.Identity.Client.MsalServiceException) + else { - //faz nada já que não fez login.... + ProgressBar.Visibility = Visibility.Collapsed; + var pergunta = new MessageDialog("Para editar os contatos de uma conta da Microsoft você precisa ter conexão com a internet."); + pergunta.Title = "Sem Conexão com a internet"; + pergunta.Commands.Add(new UICommand { Label = "Ok", Id = 0 }); + pergunta.ShowAsync(); } - } - else - { - ProgressBar.Visibility = Visibility.Collapsed; - var pergunta = new MessageDialog("Para editar os contatos de uma conta da Microsoft você precisa ter conexão com a internet."); - pergunta.Title = "Sem Conexão com a internet"; - pergunta.Commands.Add(new UICommand { Label = "Ok", Id = 0 }); - pergunta.ShowAsync(); - } - break; + break; + } + //libera listview + ListaOpcoes.SelectionMode = ListViewSelectionMode.Single; + Globais.MainPage_Bloqueia_Listview = false; } } private async void bt_classificar(object sender, TappedRoutedEventArgs e) { - await Windows.System.Launcher.LaunchUriAsync(new Uri(string.Format("ms-windows-store:REVIEW?PFN={0}", Windows.ApplicationModel.Package.Current.Id.FamilyName))); - + if (Globais.MainPage_Bloqueia_Listview == false) + { + await Windows.System.Launcher.LaunchUriAsync(new Uri(string.Format("ms-windows-store:REVIEW?PFN={0}", Windows.ApplicationModel.Package.Current.Id.FamilyName))); + } } private void bt_mais(object sender, TappedRoutedEventArgs e) { - switch (Globais.api_usada) + if (Globais.MainPage_Bloqueia_Listview == false) { - case QualAPI.PeopleAPI: - Arrumar_Sem_Modificacao.IsChecked = true; - break; - case QualAPI.PeopleAPI_COM_Alteracao: - Arrumar_Com_Modificacao.IsChecked = true; - break; - case QualAPI.OutlookAPI: - Arrumar_Email.IsChecked = true; - break; + switch (Globais.api_usada) + { + case QualAPI.PeopleAPI: + Arrumar_Sem_Modificacao.IsChecked = true; + break; + case QualAPI.PeopleAPI_COM_Alteracao: + Arrumar_Com_Modificacao.IsChecked = true; + break; + case QualAPI.OutlookAPI: + Arrumar_Email.IsChecked = true; + break; + } + FlyoutBase.ShowAttachedFlyout((FrameworkElement)sender); + //MaisOpcoes_Flyout + // this.Frame.Navigate(typeof(_9Contatos.Interface.OpcoesAvancadas), xx); } - FlyoutBase.ShowAttachedFlyout((FrameworkElement)sender); - //MaisOpcoes_Flyout - // this.Frame.Navigate(typeof(_9Contatos.Interface.OpcoesAvancadas), xx); } private void OpcaoAlteraContatoLista_Selecionado(object sender, TappedRoutedEventArgs e) diff --git a/9Contatos/Interface/Tela_Contatos.xaml b/9Contatos/Interface/Tela_Contatos.xaml index 95ac9fd..5c17014 100644 --- a/9Contatos/Interface/Tela_Contatos.xaml +++ b/9Contatos/Interface/Tela_Contatos.xaml @@ -1,4 +1,5 @@