Ejemplo n.º 1
0
        void UnsignalTab(ConversationViewModel convoVM)
        {
            convoVM.IsHighlighted = false;
            signalledTabs.Remove(convoVM);

            if (signalledTabs.Count == 0)
            {
                tabHighlightTimer.Stop();
            }
        }
Ejemplo n.º 2
0
        void SignalTab(ConversationViewModel convoVM)
        {
            if (!signalledTabs.Contains(convoVM))
            {
                if (openTabsView.CurrentItem == convoVM)
                {
                    return;
                }

                if (signalledTabs.Count == 0)
                {
                    tabHighlightTimer.Start();
                }

                signalledTabs.Add(convoVM);
                convoVM.IsHighlighted = true;
            }
        }
Ejemplo n.º 3
0
        void OnNewConversation(object sender, NewConversationEventArgs e)
        {
            dispatcher.Invoke(() =>
            {
                var convoVM             = new ConversationViewModel(client, e.Conversation);
                convoVM.CloseRequested += OnConversationCloseRequested;
                openTabs.Add(convoVM);
                e.Conversation.NewMessage += (_sender, _e) =>
                {
                    SignalTab(convoVM);
                };
                openTabsView.Refresh();
                SignalTab(convoVM);

                if (!e.ClientStarted)
                {
                    App.NotificationManager.CreateNotification(e.Conversation.Contact.DisplayName, "has started a conversation", Colors.Transparent, App.NotificationManager.DefaultShowTime);
                }
            });
        }
Ejemplo n.º 4
0
 void CloseConversation(ConversationViewModel vm)
 {
     conversations.DeleteConversation(vm.Conversation);
     openTabs.Remove(vm);
     vm.Dispose();
 }
        void UnsignalTab(ConversationViewModel convoVM)
        {
            convoVM.IsHighlighted = false;
            signalledTabs.Remove(convoVM);

            if (signalledTabs.Count == 0)
                tabHighlightTimer.Stop();
        }
        void SignalTab(ConversationViewModel convoVM)
        {
            if (!signalledTabs.Contains(convoVM))
            {
                if (openTabsView.CurrentItem == convoVM)
                    return;

                if (signalledTabs.Count == 0)
                    tabHighlightTimer.Start();

                signalledTabs.Add(convoVM);
                convoVM.IsHighlighted = true;
            }
        }
        void OnNewConversation(object sender, NewConversationEventArgs e)
        {
            dispatcher.Invoke(() =>
            {
                var convoVM = new ConversationViewModel(client, e.Conversation);
                convoVM.CloseRequested += OnConversationCloseRequested;
                openTabs.Add(convoVM);
                e.Conversation.NewMessage += (_sender, _e) =>
                    {
                        SignalTab(convoVM);
                    };
                openTabsView.Refresh();
                SignalTab(convoVM);

                if (!e.ClientStarted)
                {
                    App.NotificationManager.CreateNotification(e.Conversation.Contact.DisplayName, "has started a conversation", Colors.Transparent, App.NotificationManager.DefaultShowTime);
                }
            });
        }
 void CloseConversation(ConversationViewModel vm)
 {
     conversations.DeleteConversation(vm.Conversation);
     openTabs.Remove(vm);
     vm.Dispose();
 }