private async void Mainbutton_Clicked(object sender, EventArgs e) { lock (syncLock) { if (isInCall) { return; } isInCall = true; } try { var data = Xamarin.Forms.Application.Current.Properties; var SenderName = (sender as Xamarin.Forms.Button).ClassId; var loadingPage = new LoadingPopup(); await Navigation.PushPopupAsync(loadingPage); //KYR EDW AMA KOLLAEI ContentPage contentPage = null; //switch (SenderName) //{ // case "Overview": // break; // case "Breakfast": // break; // case "Brunch": // break; // case "Lunch": // break; // case "Supper": // break; // case "Dinner": // break; // case "Extra": // break; // case "Settings": // break; //} if (SenderName == "Overview") { //string x = "Calories: " + data["todayscal"].ToString() + " Fat: " + data["todaysfat"].ToString() + " Prot: " + data["todaysprot"].ToString() + " Carb: " + data["todayscarb"].ToString(); //var datestoshow = Convert.ToInt32(data["datestoshow"]); //if (datestoshow > 0) //{ // for (int i = 1; i <= datestoshow; i++) // { // x += UnixTimeStampToDateTime(Convert.ToDouble(data[i.ToString() + "datetoshow"].ToString())); // x += "\n"; // x += "Calories: " + data[i.ToString() + "cal"].ToString() + " Fat: " + data[i.ToString() + "fat"].ToString() + " Prot: " + data[i.ToString() + "prot"].ToString() + " Carb: " + data[i.ToString() + "carb"].ToString(); // x += "\n"; // } //} //var alert = new PopupAlert(x); //await Navigation.RemovePopupPageAsync(loadingPage); //await Navigation.PushPopupAsync(alert); var exists = data["goalset"].ToString(); if (exists != "true") { var alert = new PopupAlert("Set your goals in the settings menu first!"); await Navigation.PushPopupAsync(alert); await Navigation.RemovePopupPageAsync(loadingPage); return; } contentPage = new OverviewView(); } else if (SenderName == "Settings") { contentPage = new SettingsView(); } else { int.TryParse(SenderName, out int i); contentPage = new MealView((FoodModel.TimeOfDayEmum)i); } string myinput = await OpenPageFromMain(this.Navigation, loadingPage, contentPage, SenderName); if (myinput == "ok") { } } finally { lock (syncLock) { isInCall = false; } } }
public void ShowPopup(PopupAlert popup) { Image popupImage = null; LastError = ""; if (!string.IsNullOrEmpty(popup.AlertAudioFile) && _audioPlayer != null) { var audioFile = Path.Combine(Path.Combine(popup.SourcePath, "audio"), popup.AlertAudioFile); try { _audioPlayer.PlayAudio(audioFile, popup.LoopAudio); } catch (Exception ex) { LastError = "Unable to play audio file [" + audioFile + "': " + ex.Message; } } //if(popup.AlertImageFile!="" && File.Exists(popup.AlertImageFile)) if (!string.IsNullOrEmpty(popup.AlertImageFile)) { var imageFile = Path.Combine(Path.Combine(popup.SourcePath, "images"), popup.AlertImageFile); try { popupImage = Image.FromFile(imageFile); } catch (Exception ex) { LastError = "Unable to LOAD image file '" + imageFile + "' (" + ex.Message + ")"; } } FontFamily fontFamily = new FontFamily("Arial"); Font font = new Font( fontFamily, 30, FontStyle.Regular, GraphicsUnit.Pixel); _popupNotifier = new PopupNotifier { ShowCloseButton = popup.AllowClose, ShowOptionsButton = true, ShowGrip = false, AnimationDuration = 100, Scroll = false, ContentFont = font, TitleFont = font, TitleText = popup.AlertTitle, ContentText = popup.AlertContent, Size = new Size(popup.PopupWidth, popup.PopupHeight), Delay = popup.PopupDuration, Image = popupImage }; _popupNotifier.Disappear += new EventHandler(PopupClosed); _popupNotifier.Close += new EventHandler(PopupClosed); _popupNotifier.Popup(); }
public static Task <string> CustomAlert(INavigation navigation, string msg) { //apo edw kai katw gia na ginei to return var tcs = new TaskCompletionSource <string>(); var page = new PopupPage(); var grid = new Grid { VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Center }; grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto }); grid.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto }); grid.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto }); var btnYes = new RadButton { Text = "Yes", BackgroundColor = Color.FromRgb(0.8, 0.8, 0.8), }; var btnNo = new RadButton { Text = "No", BackgroundColor = Color.FromRgb(0.8, 0.8, 0.8), }; grid.Children.Add(btnYes); grid.Children.Add(btnNo); Grid.SetRow(btnYes, 0); Grid.SetRow(btnNo, 0); Grid.SetColumn(btnYes, 0); Grid.SetColumn(btnNo, 1); var slButtons = new StackLayout { Children = { grid }, //Children = { btnOk, btnCancel }, }; //apo edw kai panw gia na ginei to return //var layout = new StackLayout //{ // VerticalOptions = LayoutOptions.CenterAndExpand, // HorizontalOptions = LayoutOptions.CenterAndExpand, // Orientation = StackOrientation.Vertical, // //Children = { lblTitle, lblMessage, carview, slButtons }, // Children = { carview }, //}; // create and show page //var page = new ContentPage(); //page.Content = layout; var carview = new PopupAlert(msg, false, true); var layout = new StackLayout { Children = { carview.Content, slButtons }, VerticalOptions = LayoutOptions.Center }; page.Content = layout; navigation.PushPopupAsync(page); btnYes.Clicked += async(s, e) => { // close page await navigation.RemovePopupPageAsync(page); tcs.SetResult("yes"); }; btnNo.Clicked += async(s, e) => { // close page await navigation.RemovePopupPageAsync(page); tcs.SetResult("no"); }; // open keyboard //txtInput.Focus(); // code is waiting her, until result is passed with tcs.SetResult() in btn-Clicked // then proc returns the result return(tcs.Task); }
public void timerTick(object sender, EventArgs e) { try { _timer.Stop(); var alertFilePath = Path.Combine(_scanPath, "alert.json"); if (File.Exists(alertFilePath)) { var errorText = ""; if (File.Exists(alertFilePath + ".failed")) { File.Delete(alertFilePath + ".failed"); } if (File.Exists(Path.Combine(_scanPath, "alert_error.txt"))) { File.Delete(Path.Combine(_scanPath, "alert_error.txt")); } if (File.Exists(Path.Combine(_scanPath, "alert_warn.txt"))) { File.Delete(Path.Combine(_scanPath, "alert_warn.txt")); } PopupAlert alert = null; try { alert = JsonConvert.DeserializeObject <PopupAlert>(File.ReadAllText(alertFilePath)); } catch (Exception ex) { errorText = "Unable to decode json file '" + alertFilePath + "': " + ex.Message; } if (alert != null) { alert.SourcePath = _scanPath; try { _popupEngine.ShowPopup(alert); } catch (Exception ex) { errorText = "Runtime error in ShowPopup: '" + ex.ToString() + "'"; } } if (errorText != "") //alert failed { File.WriteAllText(Path.Combine(_scanPath, "alert_error.txt"), errorText); try { File.Move(alertFilePath, alertFilePath + ".failed"); } finally { } } else { if (!string.IsNullOrEmpty(_popupEngine.LastError)) { File.WriteAllText(Path.Combine(_scanPath, "alert_warn.txt"), _popupEngine.LastError); } } if (File.Exists(alertFilePath)) { File.Delete(alertFilePath); } } } finally { _timer.Start(); } }