public void Remove(TLStickerSet set) { if (set == null) { return; } var inputSet = new TLInputStickerSetId { Id = set.Id, AccessHash = set.AccessHash }; IsWorking = true; MTProtoService.UninstallStickerSetAsync(inputSet, result => Execute.BeginOnUIThread(() => { IsWorking = false; Items.Remove(set); var emojiControl = EmojiControl.GetInstance(); emojiControl.RemoveStickerSet(inputSet); }), error => Execute.BeginOnUIThread(() => { IsWorking = false; Execute.ShowDebugMessage("messages.uninstallStickerSet error " + error); })); }
private void OnSmileIconClick(object sender, EventArgs e) { if (EmojiInstance == null) { // Initialize EmojiControl EmojiInstance = EmojiControl.GetInstance(); EmojiInstance.BindTextBox(InputTextBox); ContentPanel.Children.Add(EmojiInstance); // Add to view } EmojiInstance.IsOpen = !EmojiInstance.IsOpen; }
public static void NavigateToStickers(IMTProtoService mtProtoService, IStateService stateService, TLInputStickerSetBase inputStickerSet) { #if WP8 if (mtProtoService != null) { Execute.BeginOnUIThread(() => { var frame = Application.Current.RootVisual as TelegramTransitionFrame; if (frame != null) { frame.OpenBlockingProgress(); } stateService.GetAllStickersAsync(cachedStickers => { mtProtoService.GetStickerSetAsync(inputStickerSet, stickerSet => Execute.BeginOnUIThread(() => { if (frame != null) { frame.CloseBlockingProgress(); } var emoticons = new Dictionary <long, string>(); for (var i = 0; i < stickerSet.Packs.Count; i++) { var emoticon = stickerSet.Packs[i].Emoticon.ToString(); foreach (var document in stickerSet.Packs[i].Documents) { emoticons[document.Value] = emoticon; } } stickerSet.Set.Stickers = new TLVector <TLObject>(); for (var i = 0; i < stickerSet.Documents.Count; i++) { var document22 = stickerSet.Documents[i] as TLDocument22; if (document22 != null) { string emoticon; if (emoticons.TryGetValue(document22.Id.Value, out emoticon)) { document22.Emoticon = emoticon; } stickerSet.Set.Stickers.Add(new TLStickerItem { Document = document22 }); } } var isCancelVisible = true; var allStickers29 = cachedStickers as TLAllStickers29; if (allStickers29 != null) { isCancelVisible = allStickers29.Sets.FirstOrDefault(x => x.Id.Value == stickerSet.Set.Id.Value) == null; } ShowMessagePrompt(isCancelVisible, stickerSet.Set, prompt => { if (prompt == PopUpResult.Ok && isCancelVisible) { mtProtoService.InstallStickerSetAsync(inputStickerSet, result => Execute.BeginOnUIThread(() => { var instance = EmojiControl.GetInstance(); instance.AddStickerSet(stickerSet); mtProtoService.SetMessageOnTime(2.0, AppResources.NewStickersAdded); }), error => Execute.BeginOnUIThread(() => { if (error.CodeEquals(ErrorCode.BAD_REQUEST)) { if (error.TypeEquals(ErrorType.STICKERSET_INVALID)) { MessageBox.Show(AppResources.StickersNotFound, AppResources.Error, MessageBoxButton.OK); } else { Execute.ShowDebugMessage("messages.importChatInvite error " + error); } } else { Execute.ShowDebugMessage("messages.importChatInvite error " + error); } })); } }); }), error => Execute.BeginOnUIThread(() => { if (frame != null) { frame.CloseBlockingProgress(); } if (error.CodeEquals(ErrorCode.BAD_REQUEST)) { if (error.TypeEquals(ErrorType.STICKERSET_INVALID)) { MessageBox.Show(AppResources.StickersNotFound, AppResources.Error, MessageBoxButton.OK); } else { Execute.ShowDebugMessage("messages.getStickerSet error " + error); } } else { Execute.ShowDebugMessage("messages.getStickerSet error " + error); } })); }); }); } #endif }
public SecretDialogDetailsView() { _timer = System.Diagnostics.Stopwatch.StartNew(); InitializeComponent(); _sendButton.Click += (sender, args) => ViewModel.Send(); _attachButton.Click += (sender, args) => { EmojiPlaceholder.Visibility = Visibility.Collapsed; Self.Focus(); ViewModel.Attach(); }; _manageButton.Click += (sender, args) => SwitchToSelectionMode(); _deleteButton.Click += (sender, args) => { ViewModel.DeleteMessages(); SwitchToNormalMode(); }; _smileButton.Click += (sender, args) => { if (_emojiKeyboard == null) { _emojiKeyboard = EmojiControl.GetInstance(); _emojiKeyboard.BindTextBox(InputMessage); EmojiPlaceholder.Content = _emojiKeyboard; _emojiKeyboard.IsOpen = true; } if (EmojiPlaceholder.Visibility == Visibility.Visible) { if (InputMessage == FocusManager.GetFocusedElement()) { _smileButtonPressed = true; Items.Focus(); EmojiPlaceholder.Opacity = 1.0; EmojiPlaceholder.Height = EmojiControl.PortraitOrientationHeight; } else { EmojiPlaceholder.Visibility = Visibility.Collapsed; } } else { var awaitKeyboardDown = false; if (InputMessage == FocusManager.GetFocusedElement()) { awaitKeyboardDown = true; Items.Focus(); } ThreadPool.QueueUserWorkItem(state => { if (awaitKeyboardDown) { Thread.Sleep(400); } Deployment.Current.Dispatcher.BeginInvoke(() => { EmojiPlaceholder.Visibility = Visibility.Visible; }); }); } }; Loaded += OnLoaded; Unloaded += OnUnloaded; }
public SecretDialogDetailsView() { _timer = System.Diagnostics.Stopwatch.StartNew(); InitializeComponent(); //Full HD OptimizeFullHD(); _sendButton.Click += (sender, args) => ViewModel.Send(); _attachButton.Click += (sender, args) => { EmojiPlaceholder.Visibility = Visibility.Collapsed; AudioRecorder.Visibility = GetAudioRecorderVisibility(); //Visibility.Visible; Title.Visibility = Visibility.Visible; DialogPhoto.Visibility = Visibility.Visible; Self.Focus(); ViewModel.Attach(); }; _manageButton.Click += (sender, args) => SwitchToSelectionMode(); _deleteButton.Click += (sender, args) => { ViewModel.DeleteMessages(); SwitchToNormalMode(); }; _smileButton.Click += (sender, args) => { if (_emojiKeyboard == null) { _emojiKeyboard = EmojiControl.GetInstance(); _emojiKeyboard.BindTextBox(InputMessage, true); _emojiKeyboard.StickerSelected += OnStickerSelected; EmojiPlaceholder.Content = _emojiKeyboard; _emojiKeyboard.IsOpen = true; } if (EmojiPlaceholder.Visibility == Visibility.Visible) { if (InputMessage == FocusManager.GetFocusedElement()) { Items.Focus(); _smileButtonPressed = true; EmojiPlaceholder.Opacity = 1.0; EmojiPlaceholder.Height = EmojiControl.PortraitOrientationHeight; } else { EmojiPlaceholder.Visibility = Visibility.Collapsed; AudioRecorder.Visibility = GetAudioRecorderVisibility(); //Visibility.Visible; Title.Visibility = Visibility.Visible; DialogPhoto.Visibility = Visibility.Visible; } } else { var awaitKeyboardDown = false; if (InputMessage == FocusManager.GetFocusedElement()) { awaitKeyboardDown = true; Items.Focus(); } Telegram.Api.Helpers.Execute.BeginOnThreadPool(() => { if (awaitKeyboardDown) { Thread.Sleep(400); } Telegram.Api.Helpers.Execute.BeginOnUIThread(() => { EmojiPlaceholder.Visibility = Visibility.Visible; AudioRecorder.Visibility = Visibility.Collapsed; Title.Visibility = Visibility.Collapsed; DialogPhoto.Visibility = Visibility.Collapsed; }); }); } }; Loaded += OnLoaded; Unloaded += OnUnloaded; }
public DialogDetailsView() { InitializeComponent(); AnimationContext = LayoutRoot; _sendButton.Click += (sender, args) => ViewModel.Send(); _attachButton.Click += (sender, args) => { EmojiPlaceholder.Visibility = Visibility.Collapsed; //DialogPhoto.Visibility = Visibility.Visible; //Title.Visibility = Visibility.Visible; ChooseAttachment.Focus(); ViewModel.Attach(); }; _smileButton.Click += (sender, args) => { if (_emojiKeyboard == null) { _emojiKeyboard = EmojiControl.GetInstance(); _emojiKeyboard.BindTextBox(InputMessage); EmojiPlaceholder.Content = _emojiKeyboard; _emojiKeyboard.IsOpen = true; } if (EmojiPlaceholder.Visibility == Visibility.Visible) { if (InputMessage == FocusManager.GetFocusedElement()) { _smileButtonPressed = true; EmojiPlaceholder.Opacity = 1.0; EmojiPlaceholder.Height = EmojiControl.PortraitOrientationHeight; Items.Focus(); } else { EmojiPlaceholder.Visibility = Visibility.Collapsed; //DialogPhoto.Visibility = Visibility.Visible; //Title.Visibility = Visibility.Visible; } } else { var awaitKeyboardDown = false; if (InputMessage == FocusManager.GetFocusedElement()) { awaitKeyboardDown = true; Items.Focus(); } ThreadPool.QueueUserWorkItem(state => { if (awaitKeyboardDown) { Thread.Sleep(400); } Deployment.Current.Dispatcher.BeginInvoke(() => { EmojiPlaceholder.Opacity = 1.0; EmojiPlaceholder.Visibility = Visibility.Visible; //DialogPhoto.Visibility = Visibility.Collapsed; //Title.Visibility = Visibility.Collapsed; }); }); } }; _manageButton.Click += (sender, args) => SwitchToSelectionMode(); _forwardButton.Click += (sender, args) => { var selectedItems = ViewModel.Items.Where(x => x.Id != null && x.IsSelected).ToList(); if (selectedItems.Count == 0) { return; } ViewModel.IsSelectionEnabled = false; Deployment.Current.Dispatcher.BeginInvoke(() => { try { if (Items.Visibility == Visibility.Visible) { var writeableBitmap = new WriteableBitmap(Items, null); ViewModel.With.Bitmap = writeableBitmap; } } catch (Exception ex) { Telegram.Api.Helpers.Execute.ShowDebugMessage("WritableBitmap exception " + ex); } ViewModel.ForwardMessages(selectedItems); }); }; _deleteButton.Click += (sender, args) => ViewModel.DeleteMessages(); Loaded += (sender, args) => { SetRootFrameBinding(); if (!ViewModel.StateService.IsEmptyBackground) { var color = Colors.White; color.A = 254; SystemTray.ForegroundColor = color; } if (ViewModel.StateService.CurrentBackground != null) { var color = Colors.White; color.A = 254; SystemTray.ForegroundColor = color; } if (ViewModel.With is TLBroadcastChat) { _forwardButton.IsEnabled = false; } ThreadPool.QueueUserWorkItem(state => { Thread.Sleep(300); Deployment.Current.Dispatcher.BeginInvoke(() => { if (ViewModel.StateService.FocusOnInputMessage) { ViewModel.StateService.FocusOnInputMessage = false; InputMessage.Focus(); } }); }); if (ViewModel.ChooseAttachment != null) { ViewModel.ChooseAttachment.PropertyChanged += OnChooseAttachmentPropertyChanged; } if (ViewModel.ImageViewer != null) { ViewModel.ImageViewer.PropertyChanged += OnImageViewerPropertyChanged; } if (ViewModel.ImageEditor != null) { ViewModel.ImageEditor.PropertyChanged += OnImageEditorPropertyChanged; } ViewModel.PropertyChanged += OnViewModelPropertyChanged; ViewModel.ScrollToBottom += OnViewModelScrollToBottom; BuildLocalizedAppBar(); //MessageBox.Show("Time: " + timer.Elapsed); }; Unloaded += (sender, args) => { RemoveRootFrameBinding(); if (ViewModel.ChooseAttachment != null) { ViewModel.ChooseAttachment.PropertyChanged -= OnChooseAttachmentPropertyChanged; } if (ViewModel.ImageViewer != null) { ViewModel.ImageViewer.PropertyChanged -= OnImageViewerPropertyChanged; } if (ViewModel.ImageEditor != null) { ViewModel.ImageEditor.PropertyChanged -= OnImageEditorPropertyChanged; } ViewModel.ScrollToBottom -= OnViewModelScrollToBottom; ViewModel.PropertyChanged -= OnViewModelPropertyChanged; }; }