~ubuntu-branches/ubuntu/trusty/smuxi/trusty-proposed

« back to all changes in this revision

Viewing changes to src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs

  • Committer: Package Import Robot
  • Author(s): Mirco Bauer
  • Date: 2013-05-25 22:11:31 UTC
  • mfrom: (1.2.12)
  • Revision ID: package-import@ubuntu.com-20130525221131-nd2mc0kzubuwyx20
Tags: 0.8.11-1
* [22d13d5] Imported Upstream version 0.8.11
* [6d2b95a] Refreshed patches
* [89eb66e] Added ServiceStack libraries to smuxi-engine package
* [848ab10] Enable Campfire engine
* [c6dbdc7] Always build db4o for predictable build result
* [13ec489] Exclude OS X specific libraries from dh_clideps

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
2
 * Smuxi - Smart MUltipleXed Irc
3
3
 *
4
 
 * Copyright (c) 2005-2006, 2009-2011 Mirco Bauer <meebey@meebey.net>
 
4
 * Copyright (c) 2005-2006, 2009-2013 Mirco Bauer <meebey@meebey.net>
5
5
 *
6
6
 * Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
7
7
 *
49
49
        public string Host { get; private set; }
50
50
        public int Port { get; private set; }
51
51
        public string NetworkID { get; private set; }
 
52
        Gtk.ImageMenuItem  ReconnectItem { get; set; }
52
53
 
53
54
        protected override Gtk.Image DefaultTabImage {
54
55
            get {
81
82
            NetworkWebsiteUrls.Add("GSDnet", "http://www.gsd-software.net/");
82
83
            NetworkWebsiteUrls.Add("ustream", "http://www.ustream.tv/");
83
84
            NetworkWebsiteUrls.Add("Infinity-IRC", "http://www.infinityirc.com/");
 
85
            NetworkWebsiteUrls.Add("GeekShed", "http://www.geekshed.net/");
84
86
 
85
87
            // Twitter
86
88
            NetworkWebsiteUrls.Add("Twitter", "http://www.twitter.com/");
88
90
            // XMPP
89
91
            NetworkWebsiteUrls.Add("talk.google.com", "http://www.google.com/talk/");
90
92
            NetworkWebsiteUrls.Add("chat.facebook.com", "http://www.facebook.com/");
 
93
 
 
94
            // JabbR
 
95
            NetworkWebsiteUrls.Add("jabbr.net", "http://jabbr.net/");
 
96
 
 
97
            // Campfire
 
98
            NetworkWebsiteUrls.Add("Campfire", "http://campfirenow.com");
91
99
        }
92
100
 
93
101
        public ProtocolChatView(ChatModel chat) : base(chat)
97
105
            ProxySettings = new ProxySettings();
98
106
 
99
107
            Add(OutputScrolledWindow);
 
108
 
 
109
            ReconnectItem = new Gtk.ImageMenuItem(_("Reconnect"));
 
110
            ReconnectItem.Image = new Gtk.Image(Gtk.Stock.Refresh, Gtk.IconSize.Menu);
 
111
            ReconnectItem.Activated += new EventHandler(OnTabMenuReconnectActivated);
 
112
            TabMenu.Prepend(ReconnectItem);
 
113
            TabMenu.ShowAll();
 
114
 
100
115
            ShowAll();
101
116
        }
102
117
 
197
212
 
198
213
            string websiteUrl = null;
199
214
            lock (NetworkWebsiteUrls) {
200
 
                if (!NetworkWebsiteUrls.TryGetValue(ID, out websiteUrl)) {
201
 
                    // unknown network, nothing to download
 
215
                if (!NetworkWebsiteUrls.TryGetValue(ID, out websiteUrl) &&
 
216
                    !NetworkWebsiteUrls.TryGetValue(protocol, out websiteUrl)) {
 
217
                    // unknown network and protocol, nothing to download
202
218
                    return;
203
219
                }
204
220
                // download in background so Sync() doesn't get slowed down
328
344
            });
329
345
        }
330
346
 
 
347
        protected virtual void OnTabMenuReconnectActivated(object sender, EventArgs e)
 
348
        {
 
349
            Trace.Call(sender, e);
 
350
 
 
351
            try {
 
352
                var pm = ProtocolManager;
 
353
                if (pm == null) {
 
354
                    return;
 
355
                }
 
356
 
 
357
                ThreadPool.QueueUserWorkItem(delegate {
 
358
                    try {
 
359
                        pm.Reconnect(Frontend.FrontendManager);
 
360
                    } catch (Exception ex) {
 
361
                        Frontend.ShowException(ex);
 
362
                    }
 
363
                });
 
364
            } catch (Exception ex) {
 
365
                Frontend.ShowException(ex);
 
366
            }
 
367
        }
 
368
 
331
369
        static bool ValidateCertificate(object sender,
332
370
                                        X509Certificate certificate,
333
371
                                        X509Chain chain,