public bool SavePresentation(EditDetailFragment fragment, View viewEditDetail, Presentation presentation) { if (presentation == null || viewEditDetail == null) { // TODO Fehlermeldung return false; } // View für die entsprechenden Typen laden switch(presentation.Type) { case Presentation.Typ.GoogleIO2012Slides: GoogleIO2012Helper helper = new GoogleIO2012Helper(context); EditText etContent = (EditText)viewEditDetail.FindViewById(Resource.Id.etContent); if (!helper.SaveContent(presentation.PresentationUID, etContent.Text.Trim())) { // ToDo Fehlermeldung } // Die vorhande Konfiguration laden um nur geänderte Stellen zu überschreiben GoogleIO2012Config cfg = helper.LoadConfig(presentation.PresentationUID); if (cfg.settings != null) { GoogleIO2012ConfigSettings settings = cfg.settings; settings.title = ((EditText)viewEditDetail.FindViewById(Resource.Id.etTitle)).Text; string title2 = ((EditText)viewEditDetail.FindViewById(Resource.Id.etTitle2)).Text; if (!String.IsNullOrEmpty(title2)) settings.title += "<br />" + title2; settings.subtitle = ((EditText)viewEditDetail.FindViewById(Resource.Id.etSubTitle)).Text; settings.useBuilds = ((ToggleButton)viewEditDetail.FindViewById(Resource.Id.tbtnAnimation)).Checked; settings.enableSlideAreas = ((ToggleButton)viewEditDetail.FindViewById(Resource.Id.tbtnAreas)).Checked; settings.enableTouch = ((ToggleButton)viewEditDetail.FindViewById(Resource.Id.tbtnTouch)).Checked; } if (cfg.presenters != null && cfg.presenters.Count > 0) { GoogleIO2012ConfigPresenters pres = cfg.presenters.FirstOrDefault(); pres.name = ((EditText)viewEditDetail.FindViewById(Resource.Id.etName)).Text; pres.company = ((EditText)viewEditDetail.FindViewById(Resource.Id.etCompany)).Text; pres.gplus = ((EditText)viewEditDetail.FindViewById(Resource.Id.etGooglePlus)).Text; pres.twitter = ((EditText)viewEditDetail.FindViewById(Resource.Id.etTwitter)).Text; pres.www = ((EditText)viewEditDetail.FindViewById(Resource.Id.etWebsite)).Text; pres.github = ((EditText)viewEditDetail.FindViewById(Resource.Id.etGithub)).Text; } helper.SaveConfig(presentation.PresentationUID, cfg); break; } return false; }
public void StartPresentation(EditDetailFragment fragment, Presentation presentation) { Intent intent = new Intent(fragment.Activity, typeof(BrowserActivity)); string pFolder = Path.Combine(presentationsHelper.PresentationsFolder, presentation.PresentationUID.ToString()); string demo = pFolder + "/template.html"; intent.PutExtra("url", "file://" + demo); fragment.StartActivity(intent); }
public IMenuItem OnOptionsItemSelected(IMenuItem item, EditDetailFragment fragment, View viewEditDetail, Presentation presentation) { Logging.Log (this, Logging.LoggingTypeDebug, "OnOptionsItemSelected()"); switch((ActionBarButtons)item.ItemId) { case ActionBarButtons.SelectPresentation: fragment.Activity.RunOnUiThread(() => { EditActivity editActivity = context as EditActivity; if (editActivity != null) editActivity.ShowPresentationSelection(); fragment.SetHasOptionsMenu(false); }); break; case ActionBarButtons.Save: if (presentation != null) { SavePresentation(fragment, viewEditDetail, presentation); Toast.MakeText(fragment.Activity, Resource.String.ToastPresentationSaved, ToastLength.Long).Show(); } break; case ActionBarButtons.Render: // Async Daten Asyncron rendern lassen ProgressDialog pdlg = new ProgressDialog(fragment.Activity); pdlg.SetCancelable(false); pdlg.SetTitle(fragment.GetText(Resource.String.ProgressRenderPresentation)); pdlg.SetMessage(fragment.GetText(Resource.String.PleaseWait)); pdlg.Show(); Task.Factory.StartNew(() => { return new WSRenderGoogleIO2012(this.context).RenderPresentation(presentation.PresentationUID); }).ContinueWith(t => { pdlg.Cancel(); if (t.Exception == null && t.Result) Toast.MakeText(fragment.Activity, Resource.String.ToastPresentationRendered, ToastLength.Long).Show(); else { fragment.Activity.RunOnUiThread(delegate() { ((BaseActivity)fragment.Activity).ShowErrorMsg(fragment.GetText(Resource.String.ToastErrorRenderPresentation)); }); } }, TaskScheduler.FromCurrentSynchronizationContext()); break; case ActionBarButtons.Present: StartPresentation(fragment, presentation); break; } return item; }