Merge lp:~voldyman/cable/white-space into lp:cable

Proposed by Akshay Shekher
Status: Merged
Merged at revision: 25
Proposed branch: lp:~voldyman/cable/white-space
Merge into: lp:cable
Diff against target: 271 lines (+132/-131)
1 file modified
src/Widgets/Server.vala (+132/-131)
To merge this branch: bzr merge lp:~voldyman/cable/white-space
Reviewer Review Type Date Requested Status
Eduard Gotwig Pending
Review via email: mp+165758@code.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/Widgets/Server.vala'
2--- src/Widgets/Server.vala 2013-05-25 19:58:46 +0000
3+++ src/Widgets/Server.vala 2013-05-25 20:15:31 +0000
4@@ -1,135 +1,136 @@
5
6-namespace Cable.Widgets
7-{
8- public class Server : Granite.Widgets.SourceList.ExpandableItem
9- {
10- //some default servers
11- public static const string [] DEFAULT_SERVERS = {
12- "Freenode", " irc.freenode.net",
13- "GimpNET", "irc.gimp.org"
14- };
15-
16- doodleIRC.DoodleIRCServer server;
17- App app;
18-
19- public string uri;
20-
21- public Server (App _app, string _name, string _uri, string? channel = null)
22- {
23- var settings = Settings.get_default ();
24- name = _name;
25- app = _app;
26- uri = _uri;
27-
28- doodleIRC.User user = doodleIRC.User () {
29- realname = settings.real_name,
30- hostname = settings.nick,
31- username = settings.nick,
32- servername = uri
33- };
34- server = new doodleIRC.DoodleIRCServer ("irc.freenode.net", user, settings.nick);
35- Global.get_default ().user_nick = settings.nick; //TODO use fallback nicks
36-
37- try {
38- server.connect ();
39- } catch (Error e) {
40- //Needs Fixing
41- Gtk.main_quit ();
42- }
43- server.on_message.connect ((sender, chan, msg) => {
44- foreach (var room in children) {
45- if ((room as Room).name == chan) {
46- (room as Room).message (sender.split ("!")[0], msg);
47- return;
48- }
49- }
50-
51- critical ("Channel '%s' has not been opened", chan);
52- });
53-
54- if (channel != null)
55- join_channel (channel);
56- }
57-
58- public void join_channel (string channel)
59- {
60- var room = new Room (channel);
61- add (room);
62- expand_all ();
63-
64- room.send_message.connect ((msg) => server.write (room.name, msg));
65- server.join_chan (channel);
66+ namespace Cable.Widgets
67+ {
68+ public class Server : Granite.Widgets.SourceList.ExpandableItem
69+ {
70+ //some default servers
71+ public static const string [] DEFAULT_SERVERS = {
72+ "Freenode", " irc.freenode.net",
73+ "GimpNET", "irc.gimp.org"
74+ };
75+
76+ doodleIRC.DoodleIRCServer server;
77+ App app;
78+
79+ public string uri;
80+
81+ public Server (App _app, string _name, string _uri, string? channel = null)
82+ {
83+ var settings = Settings.get_default ();
84+ name = _name;
85+ app = _app;
86+ uri = _uri;
87+
88+ doodleIRC.User user = doodleIRC.User () {
89+ realname = settings.real_name,
90+ hostname = settings.nick,
91+ username = settings.nick,
92+ servername = uri
93+ };
94+ server = new doodleIRC.DoodleIRCServer ("irc.freenode.net", user, settings.nick);
95+ Global.get_default ().user_nick = settings.nick; //TODO use fallback nicks
96+
97+ try {
98+ server.connect ();
99+ } catch (Error e) {
100+ //Needs Fixing
101+ Gtk.main_quit ();
102+ }
103+ server.on_message.connect ((sender, chan, msg) => {
104+ foreach (var room in children) {
105+ if ((room as Room).name == chan) {
106+ (room as Room).message (sender, msg);
107+ return;
108+ }
109+ }
110+
111+ critical ("Channel '%s' has not been opened", chan);
112+ });
113+
114+ if (channel != null)
115+ join_channel (channel);
116+ }
117+
118+ public void join_channel (string channel)
119+ {
120+ var room = new Room (channel);
121+ add (room);
122+ expand_all ();
123+
124+ room.send_message.connect ((msg) => server.write (room.name, msg));
125+ server.join_chan (channel);
126 server.get_topic (channel, (channel, topic) => {
127- room.label.set_label(topic);
128- });
129-
130- app.servers.selected = room;
131- }
132-
133- //builds up a ComboBox offering some default and your custom servers
134+ print ("Topic :&s\n".printf (topic));
135+ room.label.set_label (topic);
136+ });
137+
138+ app.servers.selected = room;
139+ }
140+
141+ //builds up a ComboBox offering some default and your custom servers
142 /*modified by Xylon*/
143- public static Gtk.ComboBoxText get_server_list ()
144- {
145- var box = new Gtk.ComboBoxText.with_entry ();
146-
147- //add the default ones
148- for (var i = 0; i < DEFAULT_SERVERS.length; i += 2) {
149- box.append (DEFAULT_SERVERS[i + 1], DEFAULT_SERVERS[i]);
150- }
151-
152- //add the custom ones
153- foreach (var server in Settings.get_default ().servers) {
154- if (server == "")
155- continue;
156-
157- var details = server.split (":");
158- box.append (details[1], details[0]);
159- }
160-
161- box.active = 0;
162-
163- return box;
164- }
165-
166- public static Gtk.Dialog get_add_dialog ()
167- {
168- var dialog = new Gtk.Dialog.with_buttons (_("Add Server"), null, Gtk.DialogFlags.MODAL);
169- var grid = new Gtk.Grid ();
170- var name = new Gtk.Entry ();
171- var url = new Gtk.Entry ();
172- var add = new Gtk.Button.with_label (_("Add Server"));
173-
174- name.placeholder_text = "Server";
175- url.placeholder_text = "irc.server.net";
176- grid.margin = 12;
177- grid.column_spacing = 6;
178- grid.row_spacing = 6;
179-
180- grid.attach (new Gtk.Label (_("Server Name:")), 0, 0, 1, 1);
181- grid.attach (name, 1, 0, 1, 1);
182- grid.attach (new Gtk.Label (_("Server URL:")), 0, 1, 1, 1);
183- grid.attach (url, 1, 1, 1, 1);
184- grid.attach (add, 1, 2, 1, 1);
185-
186- url.activate.connect (() => add.clicked ());
187-
188- add.clicked.connect (() => {
189- var servers = Settings.get_default ().servers;
190- servers.resize (servers.length + 1);
191- servers[servers.length - 1] = name.text + ":" + url.text;
192- Settings.get_default ().servers = servers;
193-
194- dialog.destroy ();
195- });
196-
197- name.changed.connect (() => add.sensitive = name.text != "" && url.text != "");
198- url.changed.connect (() => add.sensitive = name.text != "" && url.text != "");
199-
200- add.sensitive = false;
201-
202- (dialog.get_content_area () as Gtk.Container).add (grid);
203-
204- return dialog;
205- }
206- }
207+ public static Gtk.ComboBoxText get_server_list ()
208+ {
209+ var box = new Gtk.ComboBoxText.with_entry ();
210+
211+ //add the default ones
212+ for (var i = 0; i < DEFAULT_SERVERS.length; i += 2) {
213+ box.append (DEFAULT_SERVERS[i + 1], DEFAULT_SERVERS[i]);
214+ }
215+
216+ //add the custom ones
217+ foreach (var server in Settings.get_default ().servers) {
218+ if (server == "")
219+ continue;
220+
221+ var details = server.split (":");
222+ box.append (details[1], details[0]);
223+ }
224+
225+ box.active = 0;
226+
227+ return box;
228+ }
229+
230+ public static Gtk.Dialog get_add_dialog ()
231+ {
232+ var dialog = new Gtk.Dialog.with_buttons (_("Add Server"), null, Gtk.DialogFlags.MODAL);
233+ var grid = new Gtk.Grid ();
234+ var name = new Gtk.Entry ();
235+ var url = new Gtk.Entry ();
236+ var add = new Gtk.Button.with_label (_("Add Server"));
237+
238+ name.placeholder_text = "Server";
239+ url.placeholder_text = "irc.server.net";
240+ grid.margin = 12;
241+ grid.column_spacing = 6;
242+ grid.row_spacing = 6;
243+
244+ grid.attach (new Gtk.Label (_("Server Name:")), 0, 0, 1, 1);
245+ grid.attach (name, 1, 0, 1, 1);
246+ grid.attach (new Gtk.Label (_("Server URL:")), 0, 1, 1, 1);
247+ grid.attach (url, 1, 1, 1, 1);
248+ grid.attach (add, 1, 2, 1, 1);
249+
250+ url.activate.connect (() => add.clicked ());
251+
252+ add.clicked.connect (() => {
253+ var servers = Settings.get_default ().servers;
254+ servers.resize (servers.length + 1);
255+ servers[servers.length - 1] = name.text + ":" + url.text;
256+ Settings.get_default ().servers = servers;
257+
258+ dialog.destroy ();
259+ });
260+
261+ name.changed.connect (() => add.sensitive = name.text != "" && url.text != "");
262+ url.changed.connect (() => add.sensitive = name.text != "" && url.text != "");
263+
264+ add.sensitive = false;
265+
266+ (dialog.get_content_area () as Gtk.Container).add (grid);
267+
268+ return dialog;
269+ }
270+ }
271 }

Subscribers

People subscribed via source and target branches

to all changes: