Esempio n. 1
0
 public void OpenChatWindow(JID jid, bool isMucUser, bool focus, ChatHandlerEvent callback)
 {
     QApplication.Invoke(delegate {
         IChatHandler handler = null;
         string windowJid     = isMucUser ? jid.ToString() : jid.Bare;
         lock (m_ChatWindows) {
             if (!m_ChatWindows.ContainsKey(windowJid))
             {
                 handler        = new ChatHandler(m_Account, isMucUser, windowJid);
                 var window     = new ChatWindow(handler);
                 window.Closed += HandleChatWindowClosed;
                 m_ChatWindows.Add(windowJid, window);
                 Gui.TabbedChatsWindow.AddChatWindow(window, focus);
             }
             else
             {
                 var window = m_ChatWindows[windowJid];
                 if (focus)
                 {
                     Gui.TabbedChatsWindow.FocusChatWindow(window);
                 }
                 handler = (ChatHandler)window.Handler;
             }
         }
         if (callback != null)
         {
             callback(handler);
         }
     });
 }
Esempio n. 2
0
 public void OpenChatWindow(JID jid, bool isMucUser, bool focus, ChatHandlerEvent callback)
 {
     QApplication.Invoke(delegate {
         IChatHandler handler = null;
         string windowJid = isMucUser ? jid.ToString() : jid.Bare;
         lock (m_ChatWindows) {
             if (!m_ChatWindows.ContainsKey(windowJid)) {
                 handler = new ChatHandler(m_Account, isMucUser, windowJid);
                 var window = new ChatWindow(handler);
                 window.Closed += HandleChatWindowClosed;
                 m_ChatWindows.Add(windowJid, window);
                 Gui.TabbedChatsWindow.AddChatWindow(window, focus);
             } else {
                 var window = m_ChatWindows[windowJid];
                 if (focus) {
                     Gui.TabbedChatsWindow.FocusChatWindow(window);
                 }
                 handler = (ChatHandler)window.Handler;
             }
         }
         if (callback != null) {
             callback(handler);
         }
     });
 }