コード例 #1
0
ファイル: MainPage.xaml.cs プロジェクト: garicchi/Neuronia
        private async void menuFlyoutItemMediaFromClipboard_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var image = await Clipboard.GetContent().GetBitmapAsync();
                
                var stream = await image.OpenReadAsync();
                var size = stream.Size;
                byte[] bytes = new byte[size];
                var reader = new DataReader(stream.GetInputStreamAt(0));
                await reader.LoadAsync((uint) size);
                reader.ReadBytes(bytes);

               

                var media = new PostMedia();
                media.Data = bytes;
                media.FileName = DateTime.Now.ToString("yyyyMMddhhmmss");

                viewModel.SetPostImageCommand.Execute(media);
            }
            catch (Exception)
            {
                ToastText text=new ToastText("クリップボードの取得に失敗しました",ToastTemplateType.ToastText01);
                text.Show();
            }
        }
コード例 #2
0
ファイル: MainPage.xaml.cs プロジェクト: garicchi/Neuronia
        private async void menuFlyoutItemMediaFromCamera_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var camUI = new CameraCaptureUI();
                StorageFile file = await camUI.CaptureFileAsync(CameraCaptureUIMode.Photo);
                if (file != null)
                {
                    await SetPostImageAsync(file);
                }
            }
            catch (Exception)
            {
                ToastText text=new ToastText("カメラの起動に失敗しました",ToastTemplateType.ToastText01);
                text.Show();
            }

        }
コード例 #3
0
ファイル: MainPage.xaml.cs プロジェクト: garicchi/Neuronia
        private async void menuFlyoutItemMediaFromLibrary_Click(object sender, RoutedEventArgs e)
        {
            try{
            FileOpenPicker openPicker = new FileOpenPicker();
            openPicker.ViewMode = PickerViewMode.Thumbnail;
            openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
            openPicker.FileTypeFilter.Add(".jpg");
            openPicker.FileTypeFilter.Add(".jpeg");
            openPicker.FileTypeFilter.Add(".png");

            StorageFile file = await openPicker.PickSingleFileAsync();
            if (file != null)
            {
                await SetPostImageAsync(file);
            }
            }
            catch (Exception)
            {
                ToastText text=new ToastText("メディアの取得に失敗しました",ToastTemplateType.ToastText01);
                text.Show();
            }
        }
コード例 #4
0
ファイル: MainPage.xaml.cs プロジェクト: garicchi/Neuronia
        private void MessengerRegister()
        {
            Messenger.Default.Register<string>(this, "GetAuthorizedUrl", str =>
            {
                authenticationBrowser.NavigateUrl(str);
            });

            Messenger.Default.Register<bool>(this, "AuthorizedCompleted",async bln =>
            {
                if (bln)
                {
                    authenticationBrowser.Close();
                }
                else
                {
                    MessageDialog dialog=new MessageDialog("ピンコードが違います","エラー");
                    await dialog.ShowAsync();
                    authenticationBrowser.Close();
                    Authentication();
                }
            });

            Messenger.Default.Register<string>(this, "BrowsUrl", str =>
            {
                PreviewBrowserFlyout flyout = new PreviewBrowserFlyout();
                flyout.Show(new Uri(str), Window.Current.Bounds.Width * 2 / 3);
            });

            Messenger.Default.Register<SearchDetail>(this, "ShowSearchDetail", sd =>
            {
                SearchDetailFlyout flyout = new SearchDetailFlyout(viewModel);
                flyout.onAddTimeline += (timelineName, searchWord, account) =>
                {
                    var timeline = new SearchTimeline(account, timelineName, viewModel.GetNowTab().TabTitle, searchWord,viewModel.Setting, viewModel.CallTimelineAction, viewModel.CallRowAction);
                    viewModel.AddTimelineCommand.Execute(timeline);
                };
                flyout.ShowIndependent();
            });

            Messenger.Default.Register<UserDetail>(this, "ShowUserDetail", ud =>
            {
                UserDetailFlyout flyout = new UserDetailFlyout(viewModel, () =>
                {
                    viewModel.DirectMessageDetailCommand.Execute(new DirectMessageDetailParameter(ud.OwnerAccount.UserInfomation.screen_name,new DirectMessage
                    {
                        recipient_screen_name = viewModel.UserDetail.UserInformation.screen_name
                    }));
                    DirectMessageFlyout d_flyout = new DirectMessageFlyout(this.viewModel);
                    d_flyout.ShowIndependent();
                });
                flyout.ShowIndependent();
            });

            Messenger.Default.Register<TweetDetail>(this, "ShowTweetDetail", td =>
            {
                TweetDetailFlyout flyout = new TweetDetailFlyout(viewModel);
                flyout.ShowIndependent();
            });

         
            Messenger.Default.Register<bool>(this, "InternalNotification",async tweet =>
            {
                 notificationBarStoryboard.Begin();
                if (viewModel.Setting.IsSoundEnable)
                {
                    mediaElementNotification.Play();
                }

            });

            Messenger.Default.Register<bool>(this, "ToastNotification", async tweet =>
            {
                

                ToastText toast = new ToastText(viewModel.NotifyMessage.Message, Windows.UI.Notifications.ToastTemplateType.ToastText01);
                toast.Show();

            });

            Messenger.Default.Register<NotificationState>(this, "ChangeNotificationState", state =>
            {

            });

            Messenger.Default.Register<PostStatusBase>(this, "OnTweetBegin", status =>
            {
   
            });
            Messenger.Default.Register<PostStatusBase>(this, "OnTweetFailed", status =>
            {
            });
            Messenger.Default.Register<PostStatusBase>(this, "OnTweetCompleted", status =>
            {
            });
            Messenger.Default.Register<HttpRequestException>(this, "OnHttpGetError", e =>
            {
                
            });
            Messenger.Default.Register<HttpRequestException>(this, "OnHttpPostError", e =>
            {
            });
            Messenger.Default.Register<HttpRequestException>(this, "OnUserStreamHttpError", e =>
            {
            });
            Messenger.Default.Register<HttpRequestException>(this, "OnFollowStreamHttpError", e =>
            {
            });
            Messenger.Default.Register<TimelineBase>(this, "EditTimeline", timeline =>
            {
                EditTimelineFlyout flyout = new EditTimelineFlyout(viewModel);
                flyout.ShowIndependent();
            });
            Messenger.Default.Register<TimelineBase>(this, "DeleteTimeline", timeline =>
            {
                ChangeTimelineSize(new Size(Window.Current.Bounds.Width, Window.Current.Bounds.Height));
            });

            Messenger.Default.Register<TimelineTab>(this, "EditTimelineTab", tab =>
            {
                EditTabFlyout flyout = new EditTabFlyout(viewModel);
                flyout.ShowIndependent();
            });

            Messenger.Default.Register<TimelineTab>(this, "DeleteTimelineTab", tab =>
            {
                
            });

            Messenger.Default.Register<string>(this, "DeletePostImage", str =>
            {
      
            });
            Messenger.Default.Register<int>(this, "SetPostTextCursor", pos =>
            {
                
                if (timelineState == TimelineState.MultiTimeline)
                {
                    textPost.Select(pos, 0);
                }
                else
                {
                    textPostBottom.Select(pos, 0);
                }
            });

            Messenger.Default.Register<TimelineBase>(this, "AddTimeline", timeline =>
            {
                ChangeTimelineSize(new Size(Window.Current.Bounds.Width,Window.Current.Bounds.Height));
            });

            Messenger.Default.Register<DirectMessage>(this, "ShowDirectMessageDetail", dm =>
            {
                DirectMessageFlyout flyout = new DirectMessageFlyout(this.viewModel);
                flyout.ShowIndependent();
            });

            Messenger.Default.Register<TimelineTab>(this, "ChangeTab", tab =>
            {
                ChangeTimelineSize(new Size(Window.Current.Bounds.Width,Window.Current.Bounds.Height));
            });

            
        }