コード例 #1
0
        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;
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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;
        }