public static void Initialize() { _Flipper = new Flipper(TimeSpan.FromMilliseconds(300), delegate { }); InterceptKeys.Hook(); InterceptKeys.KeyPressed += InterceptKeys_KeyPressed; }
public SearchDockControl() { InitializeComponent(); searchFlipper = new Flipper(TimeSpan.FromMilliseconds(500), ExecuteSearch); DataContext = this; }
public Column() { InitializeComponent(); DataContext = this; selectionFlipper = new Flipper(TimeSpan.FromMilliseconds(400), () => State.SelectedPersons.ReplaceWithCast(ContactsListView.SelectedItems)); }
public StreamView() { using (new CodeTimer("StreamView/Constructor")) { InitializeComponent(); selection = new List<Message>(); dropHelper = new DropHelper(StreamListView); dropHelper.Drop += StreamListView_Drop; DataContext = this; viewFilter = ViewFilter.Current; viewFilter.Filter.FilterChanged += State_CurrentViewChanged; selectionFlipper = new Flipper(TimeSpan.FromMilliseconds(200), () => State.SelectedMessages.ReplaceWithCast(StreamListView.SelectedItems)); EventBroker.Subscribe(AppEvents.RebuildOverview, () => Thread.CurrentThread.ExecuteOnUIThread(CreateChannelsSelection)); VirtualMailBox.Current.InboxLoadComplete += delegate { using (new ThreadFlag()) StreamListView.SelectedIndex = 0; }; EventBroker.Subscribe(AppEvents.TabChanged, delegate(string newTab) { if (newTab == "DockControl") { // Switched to overview isOverviewActive = true; if (selection.Count > 0) State.SelectedMessages.Replace(selection); } else { // Switched to any other tab if (isOverviewActive) { // Save selection selection.Clear(); selection.AddRange(State.SelectedMessages); } isOverviewActive = false; } }); } }
public LabelsEditorControl() { InitializeComponent(); InputCommands.Stub(this); _flipper = new Flipper(TimeSpan.FromMilliseconds(400), CheckExistingLabel); // If labels are updated from elsewhere in the message we are currently viewing // (and we are not the one causing the updated), rebuild the labels subscription = EventBroker.Subscribe(AppEvents.MessageLabelsUpdated, (Message message) => Thread.CurrentThread.ExecuteOnUIThread(delegate { if (message == Message && !Editor.IsFocused) Reset(); })); }
public ConversationsState() { viewFilter = ViewFilter.Current; ActivityViewSource = new CollectionViewSource { Source = viewFilter.Messages }; SelectedMessages = new AdvancedObservableCollection<Message>(); SelectedMessages.CollectionChanged += delegate { OnPropertyChanged("SelectedMessage"); OnSelectionChanged(); }; flipper = new Flipper(TimeSpan.FromSeconds(25), delegate { // Todo run readstates syncornization if no receive task is currently running }); }
public RecipientsEditorControl() { InitializeComponent(); InputCommands.Stub(this); mailbox = VirtualMailBox.VirtualMailBox.Current; recipients = new AdvancedObservableCollection<SourceAddress>(); wordFlipper = new Flipper(TimeSpan.FromMilliseconds(400), ProcessCurrentWord); autocompleteFlipper = new Flipper(TimeSpan.FromMilliseconds(500), SearchContacts); // Default the validation is enabled ValidationEnabled = true; DataContext = this; var channel = ChannelsManager.GetDefaultChannel(); if (channel != null) TargetChannel = channel; }
public void Show(Message message) { // This is for our fake message if (message.MessageId < 0) return; this.message = message; QuickReplyAll.Text = String.Empty; // if document hasn't loaded (the first time), loadcomplete will take care of show for us if (initialized) BuildAndShowMessage(); // When message is shown due to system selection, do not track the read action if (!ThreadFlag.IsSet) message.TrackAction(ActionType.Read); if (flipper != null) flipper.Dispose(); // Mark message read if after setting is enabled var markReadAFter = SettingsManager.ClientSettings.AppConfiguration.MarkReadWhenViewingAfter; if (markReadAFter.HasValue) { flipper = new Flipper(TimeSpan.FromSeconds(markReadAFter.Value), delegate { if (!message.IsRead) message.MarkRead(); }); flipper.Delay(); } else if (SettingsManager.ClientSettings.AppConfiguration.MarkReadWhenViewing) message.MarkRead(); OnPropertyChanged("Message"); }