comparison finch/gntstatus.c @ 15822:32c366eeeb99

sed -ie 's/gaim/purple/g'
author Sean Egan <seanegan@gmail.com>
date Mon, 19 Mar 2007 07:01:17 +0000
parents 0e3a8505ebbe
children 66dff3dfdea6
comparison
equal deleted inserted replaced
15821:84b0f9b23ede 15822:32c366eeeb99
1 /** 1 /**
2 * @file gntstatus.c GNT Status API 2 * @file gntstatus.c GNT Status API
3 * @ingroup gntui 3 * @ingroup gntui
4 * 4 *
5 * gaim 5 * purple
6 * 6 *
7 * Gaim is the legal property of its developers, whose names are too numerous 7 * Purple is the legal property of its developers, whose names are too numerous
8 * to list here. Please refer to the COPYRIGHT file distributed with this 8 * to list here. Please refer to the COPYRIGHT file distributed with this
9 * source distribution. 9 * source distribution.
10 * 10 *
11 * This program is free software; you can redistribute it and/or modify 11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by 12 * it under the terms of the GNU General Public License as published by
32 #include <gnttree.h> 32 #include <gnttree.h>
33 33
34 #include <notify.h> 34 #include <notify.h>
35 #include <request.h> 35 #include <request.h>
36 36
37 #include "gntgaim.h" 37 #include "finch.h"
38 #include "gntstatus.h" 38 #include "gntstatus.h"
39 39
40 static struct 40 static struct
41 { 41 {
42 GntWidget *window; 42 GntWidget *window;
43 GntWidget *tree; 43 GntWidget *tree;
44 } statuses; 44 } statuses;
45 45
46 typedef struct 46 typedef struct
47 { 47 {
48 GaimSavedStatus *saved; 48 PurpleSavedStatus *saved;
49 GntWidget *window; 49 GntWidget *window;
50 GntWidget *title; 50 GntWidget *title;
51 GntWidget *type; 51 GntWidget *type;
52 GntWidget *message; 52 GntWidget *message;
53 GntWidget *tree; 53 GntWidget *tree;
54 GHashTable *hash; /* list of windows for substatuses */ 54 GHashTable *hash; /* list of windows for substatuses */
55 } EditStatus; 55 } EditStatus;
56 56
57 typedef struct 57 typedef struct
58 { 58 {
59 GaimAccount *account; 59 PurpleAccount *account;
60 const GaimStatusType *type; 60 const PurpleStatusType *type;
61 char *message; 61 char *message;
62 } RowInfo; 62 } RowInfo;
63 63
64 typedef struct 64 typedef struct
65 { 65 {
83 static void 83 static void
84 populate_statuses(GntTree *tree) 84 populate_statuses(GntTree *tree)
85 { 85 {
86 const GList *list; 86 const GList *list;
87 87
88 for (list = gaim_savedstatuses_get_all(); list; list = list->next) 88 for (list = purple_savedstatuses_get_all(); list; list = list->next)
89 { 89 {
90 GaimSavedStatus *saved = list->data; 90 PurpleSavedStatus *saved = list->data;
91 const char *title, *type, *message; 91 const char *title, *type, *message;
92 92
93 if (gaim_savedstatus_is_transient(saved)) 93 if (purple_savedstatus_is_transient(saved))
94 continue; 94 continue;
95 95
96 title = gaim_savedstatus_get_title(saved); 96 title = purple_savedstatus_get_title(saved);
97 type = gaim_primitive_get_name_from_type(gaim_savedstatus_get_type(saved)); 97 type = purple_primitive_get_name_from_type(purple_savedstatus_get_type(saved));
98 message = gaim_savedstatus_get_message(saved); /* XXX: Strip possible markups */ 98 message = purple_savedstatus_get_message(saved); /* XXX: Strip possible markups */
99 99
100 gnt_tree_add_row_last(tree, saved, 100 gnt_tree_add_row_last(tree, saved,
101 gnt_tree_create_row(tree, title, type, message), NULL); 101 gnt_tree_create_row(tree, title, type, message), NULL);
102 } 102 }
103 } 103 }
104 104
105 static void 105 static void
106 really_delete_status(GaimSavedStatus *saved) 106 really_delete_status(PurpleSavedStatus *saved)
107 { 107 {
108 GList *iter; 108 GList *iter;
109 109
110 for (iter = edits; iter; iter = iter->next) 110 for (iter = edits; iter; iter = iter->next)
111 { 111 {
118 } 118 }
119 119
120 if (statuses.tree) 120 if (statuses.tree)
121 gnt_tree_remove(GNT_TREE(statuses.tree), saved); 121 gnt_tree_remove(GNT_TREE(statuses.tree), saved);
122 122
123 gaim_savedstatus_delete(gaim_savedstatus_get_title(saved)); 123 purple_savedstatus_delete(purple_savedstatus_get_title(saved));
124 } 124 }
125 125
126 static void 126 static void
127 ask_before_delete(GntWidget *button, gpointer null) 127 ask_before_delete(GntWidget *button, gpointer null)
128 { 128 {
129 char *ask; 129 char *ask;
130 GaimSavedStatus *saved; 130 PurpleSavedStatus *saved;
131 131
132 g_return_if_fail(statuses.tree != NULL); 132 g_return_if_fail(statuses.tree != NULL);
133 133
134 saved = gnt_tree_get_selection_data(GNT_TREE(statuses.tree)); 134 saved = gnt_tree_get_selection_data(GNT_TREE(statuses.tree));
135 ask = g_strdup_printf(_("Are you sure you want to delete \"%s\""), 135 ask = g_strdup_printf(_("Are you sure you want to delete \"%s\""),
136 gaim_savedstatus_get_title(saved)); 136 purple_savedstatus_get_title(saved));
137 137
138 gaim_request_action(saved, _("Delete Status"), ask, NULL, 0, saved, 2, 138 purple_request_action(saved, _("Delete Status"), ask, NULL, 0, saved, 2,
139 _("Delete"), really_delete_status, _("Cancel"), NULL); 139 _("Delete"), really_delete_status, _("Cancel"), NULL);
140 g_free(ask); 140 g_free(ask);
141 } 141 }
142 142
143 static void 143 static void
144 use_savedstatus_cb(GntWidget *widget, gpointer null) 144 use_savedstatus_cb(GntWidget *widget, gpointer null)
145 { 145 {
146 g_return_if_fail(statuses.tree != NULL); 146 g_return_if_fail(statuses.tree != NULL);
147 147
148 gaim_savedstatus_activate(gnt_tree_get_selection_data(GNT_TREE(statuses.tree))); 148 purple_savedstatus_activate(gnt_tree_get_selection_data(GNT_TREE(statuses.tree)));
149 } 149 }
150 150
151 static void 151 static void
152 edit_savedstatus_cb(GntWidget *widget, gpointer null) 152 edit_savedstatus_cb(GntWidget *widget, gpointer null)
153 { 153 {
212 G_CALLBACK(reset_status_window), NULL); 212 G_CALLBACK(reset_status_window), NULL);
213 gnt_widget_show(window); 213 gnt_widget_show(window);
214 } 214 }
215 215
216 static void 216 static void
217 destroy_substatus_win(GaimAccount *account, EditSubStatus *sub, gpointer null) 217 destroy_substatus_win(PurpleAccount *account, EditSubStatus *sub, gpointer null)
218 { 218 {
219 gnt_widget_destroy(sub->window); /* the "destroy" callback will remove entry from the hashtable */ 219 gnt_widget_destroy(sub->window); /* the "destroy" callback will remove entry from the hashtable */
220 } 220 }
221 221
222 static void 222 static void
230 230
231 static void 231 static void
232 update_edit_list(GntWidget *widget, EditStatus *edit) 232 update_edit_list(GntWidget *widget, EditStatus *edit)
233 { 233 {
234 edits = g_list_remove(edits, edit); 234 edits = g_list_remove(edits, edit);
235 gaim_notify_close_with_handle(edit); 235 purple_notify_close_with_handle(edit);
236 g_hash_table_foreach(edit->hash, (GHFunc)destroy_substatus_win, NULL); 236 g_hash_table_foreach(edit->hash, (GHFunc)destroy_substatus_win, NULL);
237 g_list_foreach((GList*)gnt_tree_get_rows(GNT_TREE(edit->tree)), free_key, NULL); 237 g_list_foreach((GList*)gnt_tree_get_rows(GNT_TREE(edit->tree)), free_key, NULL);
238 g_free(edit); 238 g_free(edit);
239 } 239 }
240 240
243 { 243 {
244 const GList *iter; 244 const GList *iter;
245 for (iter = gnt_tree_get_rows(GNT_TREE(edit->tree)); iter; iter = iter->next) { 245 for (iter = gnt_tree_get_rows(GNT_TREE(edit->tree)); iter; iter = iter->next) {
246 RowInfo *key = iter->data; 246 RowInfo *key = iter->data;
247 if (gnt_tree_get_choice(GNT_TREE(edit->tree), key)) { 247 if (gnt_tree_get_choice(GNT_TREE(edit->tree), key)) {
248 gaim_savedstatus_set_substatus(edit->saved, key->account, key->type, key->message); 248 purple_savedstatus_set_substatus(edit->saved, key->account, key->type, key->message);
249 } 249 }
250 } 250 }
251 } 251 }
252 252
253 253
254 static void 254 static void
255 use_trans_status_cb(GntWidget *button, EditStatus *edit) 255 use_trans_status_cb(GntWidget *button, EditStatus *edit)
256 { 256 {
257 const char *message; 257 const char *message;
258 GaimStatusPrimitive prim; 258 PurpleStatusPrimitive prim;
259 GaimSavedStatus *saved; 259 PurpleSavedStatus *saved;
260 260
261 message = gnt_entry_get_text(GNT_ENTRY(edit->message)); 261 message = gnt_entry_get_text(GNT_ENTRY(edit->message));
262 prim = GPOINTER_TO_INT(gnt_combo_box_get_selected_data(GNT_COMBO_BOX(edit->type))); 262 prim = GPOINTER_TO_INT(gnt_combo_box_get_selected_data(GNT_COMBO_BOX(edit->type)));
263 263
264 saved = gaim_savedstatus_find_transient_by_type_and_message(prim, message); 264 saved = purple_savedstatus_find_transient_by_type_and_message(prim, message);
265 if (saved == NULL) { 265 if (saved == NULL) {
266 saved = gaim_savedstatus_new(NULL, prim); 266 saved = purple_savedstatus_new(NULL, prim);
267 edit->saved = saved; 267 edit->saved = saved;
268 set_substatuses(edit); 268 set_substatuses(edit);
269 } 269 }
270 gaim_savedstatus_set_message(saved, message); 270 purple_savedstatus_set_message(saved, message);
271 gaim_savedstatus_activate(saved); 271 purple_savedstatus_activate(saved);
272 gnt_widget_destroy(edit->window); 272 gnt_widget_destroy(edit->window);
273 } 273 }
274 274
275 static void 275 static void
276 save_savedstatus_cb(GntWidget *button, EditStatus *edit) 276 save_savedstatus_cb(GntWidget *button, EditStatus *edit)
277 { 277 {
278 const char *title, *message; 278 const char *title, *message;
279 GaimStatusPrimitive prim; 279 PurpleStatusPrimitive prim;
280 GaimSavedStatus *find; 280 PurpleSavedStatus *find;
281 281
282 title = gnt_entry_get_text(GNT_ENTRY(edit->title)); 282 title = gnt_entry_get_text(GNT_ENTRY(edit->title));
283 message = gnt_entry_get_text(GNT_ENTRY(edit->message)); 283 message = gnt_entry_get_text(GNT_ENTRY(edit->message));
284 if (!message || !*message) 284 if (!message || !*message)
285 message = NULL; 285 message = NULL;
286 286
287 prim = GPOINTER_TO_INT(gnt_combo_box_get_selected_data(GNT_COMBO_BOX(edit->type))); 287 prim = GPOINTER_TO_INT(gnt_combo_box_get_selected_data(GNT_COMBO_BOX(edit->type)));
288 288
289 if (!title || !*title) 289 if (!title || !*title)
290 { 290 {
291 gaim_notify_error(edit, _("Error"), _("Invalid title"), 291 purple_notify_error(edit, _("Error"), _("Invalid title"),
292 _("Please enter a non-empty title for the status.")); 292 _("Please enter a non-empty title for the status."));
293 return; 293 return;
294 } 294 }
295 295
296 find = gaim_savedstatus_find(title); 296 find = purple_savedstatus_find(title);
297 if (find && find != edit->saved) 297 if (find && find != edit->saved)
298 { 298 {
299 gaim_notify_error(edit, _("Error"), _("Duplicate title"), 299 purple_notify_error(edit, _("Error"), _("Duplicate title"),
300 _("Please enter a different title for the status.")); 300 _("Please enter a different title for the status."));
301 return; 301 return;
302 } 302 }
303 303
304 if (edit->saved == NULL) 304 if (edit->saved == NULL)
305 { 305 {
306 edit->saved = gaim_savedstatus_new(title, prim); 306 edit->saved = purple_savedstatus_new(title, prim);
307 gaim_savedstatus_set_message(edit->saved, message); 307 purple_savedstatus_set_message(edit->saved, message);
308 set_substatuses(edit); 308 set_substatuses(edit);
309 if (statuses.tree) 309 if (statuses.tree)
310 gnt_tree_add_row_last(GNT_TREE(statuses.tree), edit->saved, 310 gnt_tree_add_row_last(GNT_TREE(statuses.tree), edit->saved,
311 gnt_tree_create_row(GNT_TREE(statuses.tree), title, 311 gnt_tree_create_row(GNT_TREE(statuses.tree), title,
312 gaim_primitive_get_name_from_type(prim), message), NULL); 312 purple_primitive_get_name_from_type(prim), message), NULL);
313 } 313 }
314 else 314 else
315 { 315 {
316 gaim_savedstatus_set_title(edit->saved, title); 316 purple_savedstatus_set_title(edit->saved, title);
317 gaim_savedstatus_set_type(edit->saved, prim); 317 purple_savedstatus_set_type(edit->saved, prim);
318 gaim_savedstatus_set_message(edit->saved, message); 318 purple_savedstatus_set_message(edit->saved, message);
319 if (statuses.tree) 319 if (statuses.tree)
320 { 320 {
321 gnt_tree_change_text(GNT_TREE(statuses.tree), edit->saved, 0, title); 321 gnt_tree_change_text(GNT_TREE(statuses.tree), edit->saved, 0, title);
322 gnt_tree_change_text(GNT_TREE(statuses.tree), edit->saved, 1, 322 gnt_tree_change_text(GNT_TREE(statuses.tree), edit->saved, 1,
323 gaim_primitive_get_name_from_type(prim)); 323 purple_primitive_get_name_from_type(prim));
324 gnt_tree_change_text(GNT_TREE(statuses.tree), edit->saved, 2, message); 324 gnt_tree_change_text(GNT_TREE(statuses.tree), edit->saved, 2, message);
325 } 325 }
326 } 326 }
327 327
328 if (g_object_get_data(G_OBJECT(button), "use")) 328 if (g_object_get_data(G_OBJECT(button), "use"))
329 gaim_savedstatus_activate(edit->saved); 329 purple_savedstatus_activate(edit->saved);
330 330
331 gnt_widget_destroy(edit->window); 331 gnt_widget_destroy(edit->window);
332 } 332 }
333 333
334 static void 334 static void
335 add_substatus(EditStatus *edit, GaimAccount *account) 335 add_substatus(EditStatus *edit, PurpleAccount *account)
336 { 336 {
337 char *name; 337 char *name;
338 const char *type = NULL, *message = NULL; 338 const char *type = NULL, *message = NULL;
339 GaimSavedStatusSub *sub = NULL; 339 PurpleSavedStatusSub *sub = NULL;
340 RowInfo *key; 340 RowInfo *key;
341 341
342 if (!edit || !edit->tree) 342 if (!edit || !edit->tree)
343 return; 343 return;
344 344
345 if (edit->saved) 345 if (edit->saved)
346 sub = gaim_savedstatus_get_substatus(edit->saved, account); 346 sub = purple_savedstatus_get_substatus(edit->saved, account);
347 347
348 key = g_new0(RowInfo, 1); 348 key = g_new0(RowInfo, 1);
349 key->account = account; 349 key->account = account;
350 350
351 if (sub) 351 if (sub)
352 { 352 {
353 key->type = gaim_savedstatus_substatus_get_type(sub); 353 key->type = purple_savedstatus_substatus_get_type(sub);
354 type = gaim_status_type_get_name(key->type); 354 type = purple_status_type_get_name(key->type);
355 message = gaim_savedstatus_substatus_get_message(sub); 355 message = purple_savedstatus_substatus_get_message(sub);
356 key->message = g_strdup(message); 356 key->message = g_strdup(message);
357 } 357 }
358 358
359 name = g_strdup_printf("%s (%s)", gaim_account_get_username(account), 359 name = g_strdup_printf("%s (%s)", purple_account_get_username(account),
360 gaim_account_get_protocol_name(account)); 360 purple_account_get_protocol_name(account));
361 gnt_tree_add_choice(GNT_TREE(edit->tree), key, 361 gnt_tree_add_choice(GNT_TREE(edit->tree), key,
362 gnt_tree_create_row(GNT_TREE(edit->tree), 362 gnt_tree_create_row(GNT_TREE(edit->tree),
363 name, type ? type : "", message ? message : ""), NULL, NULL); 363 name, type ? type : "", message ? message : ""), NULL, NULL);
364 364
365 if (sub) 365 if (sub)
375 } 375 }
376 376
377 static void 377 static void
378 save_substatus_cb(GntWidget *widget, EditSubStatus *sub) 378 save_substatus_cb(GntWidget *widget, EditSubStatus *sub)
379 { 379 {
380 GaimSavedStatus *saved = sub->parent->saved; 380 PurpleSavedStatus *saved = sub->parent->saved;
381 RowInfo *row = sub->key; 381 RowInfo *row = sub->key;
382 const char *message; 382 const char *message;
383 GaimStatusType *type; 383 PurpleStatusType *type;
384 384
385 type = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(sub->type)); 385 type = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(sub->type));
386 message = gnt_entry_get_text(GNT_ENTRY(sub->message)); 386 message = gnt_entry_get_text(GNT_ENTRY(sub->message));
387 387
388 row->type = type; 388 row->type = type;
389 row->message = g_strdup(message); 389 row->message = g_strdup(message);
390 390
391 if (saved) /* Save the substatus if the savedstatus actually exists. */ 391 if (saved) /* Save the substatus if the savedstatus actually exists. */
392 gaim_savedstatus_set_substatus(saved, row->account, type, message); 392 purple_savedstatus_set_substatus(saved, row->account, type, message);
393 393
394 gnt_tree_set_choice(GNT_TREE(sub->parent->tree), row, TRUE); 394 gnt_tree_set_choice(GNT_TREE(sub->parent->tree), row, TRUE);
395 gnt_tree_change_text(GNT_TREE(sub->parent->tree), row, 1, 395 gnt_tree_change_text(GNT_TREE(sub->parent->tree), row, 1,
396 gaim_status_type_get_name(type)); 396 purple_status_type_get_name(type));
397 gnt_tree_change_text(GNT_TREE(sub->parent->tree), row, 2, message); 397 gnt_tree_change_text(GNT_TREE(sub->parent->tree), row, 2, message);
398 398
399 gnt_widget_destroy(sub->window); 399 gnt_widget_destroy(sub->window);
400 } 400 }
401 401
404 { 404 {
405 if (key[0] == ' ' && key[1] == 0) 405 if (key[0] == ' ' && key[1] == 0)
406 { 406 {
407 EditSubStatus *sub; 407 EditSubStatus *sub;
408 GntWidget *window, *combo, *entry, *box, *button, *l; 408 GntWidget *window, *combo, *entry, *box, *button, *l;
409 GaimSavedStatusSub *substatus = NULL; 409 PurpleSavedStatusSub *substatus = NULL;
410 const GList *iter; 410 const GList *iter;
411 char *name; 411 char *name;
412 RowInfo *selected = gnt_tree_get_selection_data(tree); 412 RowInfo *selected = gnt_tree_get_selection_data(tree);
413 GaimAccount *account = selected->account; 413 PurpleAccount *account = selected->account;
414 414
415 if (gnt_tree_get_choice(tree, selected)) 415 if (gnt_tree_get_choice(tree, selected))
416 { 416 {
417 /* There was a savedstatus for this account. Now remove it. */ 417 /* There was a savedstatus for this account. Now remove it. */
418 g_free(selected->message); 418 g_free(selected->message);
419 selected->type = NULL; 419 selected->type = NULL;
420 selected->message = NULL; 420 selected->message = NULL;
421 /* XXX: should we really be saving it right now? */ 421 /* XXX: should we really be saving it right now? */
422 gaim_savedstatus_unset_substatus(edit->saved, account); 422 purple_savedstatus_unset_substatus(edit->saved, account);
423 gnt_tree_change_text(tree, account, 1, NULL); 423 gnt_tree_change_text(tree, account, 1, NULL);
424 gnt_tree_change_text(tree, account, 2, NULL); 424 gnt_tree_change_text(tree, account, 2, NULL);
425 return FALSE; 425 return FALSE;
426 } 426 }
427 427
428 if (g_hash_table_lookup(edit->hash, account)) 428 if (g_hash_table_lookup(edit->hash, account))
429 return TRUE; 429 return TRUE;
430 430
431 if (edit->saved) 431 if (edit->saved)
432 substatus = gaim_savedstatus_get_substatus(edit->saved, account); 432 substatus = purple_savedstatus_get_substatus(edit->saved, account);
433 433
434 sub = g_new0(EditSubStatus, 1); 434 sub = g_new0(EditSubStatus, 1);
435 sub->parent = edit; 435 sub->parent = edit;
436 sub->key = selected; 436 sub->key = selected;
437 437
439 gnt_box_set_toplevel(GNT_BOX(window), TRUE); 439 gnt_box_set_toplevel(GNT_BOX(window), TRUE);
440 gnt_box_set_title(GNT_BOX(window), _("Substatus")); /* XXX: a better title */ 440 gnt_box_set_title(GNT_BOX(window), _("Substatus")); /* XXX: a better title */
441 441
442 box = gnt_hbox_new(FALSE); 442 box = gnt_hbox_new(FALSE);
443 gnt_box_add_widget(GNT_BOX(box), gnt_label_new(_("Account:"))); 443 gnt_box_add_widget(GNT_BOX(box), gnt_label_new(_("Account:")));
444 name = g_strdup_printf("%s (%s)", gaim_account_get_username(account), 444 name = g_strdup_printf("%s (%s)", purple_account_get_username(account),
445 gaim_account_get_protocol_name(account)); 445 purple_account_get_protocol_name(account));
446 gnt_box_add_widget(GNT_BOX(box), gnt_label_new(name)); 446 gnt_box_add_widget(GNT_BOX(box), gnt_label_new(name));
447 g_free(name); 447 g_free(name);
448 gnt_box_add_widget(GNT_BOX(window), box); 448 gnt_box_add_widget(GNT_BOX(window), box);
449 449
450 box = gnt_hbox_new(FALSE); 450 box = gnt_hbox_new(FALSE);
452 gnt_widget_set_size(l, 0, 1); /* I don't like having to do this */ 452 gnt_widget_set_size(l, 0, 1); /* I don't like having to do this */
453 sub->type = combo = gnt_combo_box_new(); 453 sub->type = combo = gnt_combo_box_new();
454 gnt_box_add_widget(GNT_BOX(box), combo); 454 gnt_box_add_widget(GNT_BOX(box), combo);
455 gnt_box_add_widget(GNT_BOX(window), box); 455 gnt_box_add_widget(GNT_BOX(window), box);
456 456
457 for (iter = gaim_account_get_status_types(account); iter; iter = iter->next) 457 for (iter = purple_account_get_status_types(account); iter; iter = iter->next)
458 { 458 {
459 GaimStatusType *type = iter->data; 459 PurpleStatusType *type = iter->data;
460 if (!gaim_status_type_is_user_settable(type)) 460 if (!purple_status_type_is_user_settable(type))
461 continue; 461 continue;
462 gnt_combo_box_add_data(GNT_COMBO_BOX(combo), type, gaim_status_type_get_name(type)); 462 gnt_combo_box_add_data(GNT_COMBO_BOX(combo), type, purple_status_type_get_name(type));
463 } 463 }
464 464
465 box = gnt_hbox_new(FALSE); 465 box = gnt_hbox_new(FALSE);
466 gnt_box_add_widget(GNT_BOX(box), gnt_label_new(_("Message:"))); 466 gnt_box_add_widget(GNT_BOX(box), gnt_label_new(_("Message:")));
467 sub->message = entry = gnt_entry_new(substatus ? gaim_savedstatus_substatus_get_message(substatus) : NULL); 467 sub->message = entry = gnt_entry_new(substatus ? purple_savedstatus_substatus_get_message(substatus) : NULL);
468 gnt_box_add_widget(GNT_BOX(box), entry); 468 gnt_box_add_widget(GNT_BOX(box), entry);
469 gnt_box_add_widget(GNT_BOX(window), box); 469 gnt_box_add_widget(GNT_BOX(window), box);
470 470
471 box = gnt_hbox_new(FALSE); 471 box = gnt_hbox_new(FALSE);
472 button = gnt_button_new(_("Cancel")); 472 button = gnt_button_new(_("Cancel"));
486 return TRUE; 486 return TRUE;
487 } 487 }
488 return FALSE; 488 return FALSE;
489 } 489 }
490 490
491 void finch_savedstatus_edit(GaimSavedStatus *saved) 491 void finch_savedstatus_edit(PurpleSavedStatus *saved)
492 { 492 {
493 EditStatus *edit; 493 EditStatus *edit;
494 GntWidget *window, *box, *button, *entry, *combo, *label, *tree; 494 GntWidget *window, *box, *button, *entry, *combo, *label, *tree;
495 GaimStatusPrimitive prims[] = {GAIM_STATUS_AVAILABLE, GAIM_STATUS_AWAY, 495 PurpleStatusPrimitive prims[] = {PURPLE_STATUS_AVAILABLE, PURPLE_STATUS_AWAY,
496 GAIM_STATUS_INVISIBLE, GAIM_STATUS_OFFLINE, GAIM_STATUS_UNSET}, current; 496 PURPLE_STATUS_INVISIBLE, PURPLE_STATUS_OFFLINE, PURPLE_STATUS_UNSET}, current;
497 GList *iter; 497 GList *iter;
498 int i; 498 int i;
499 499
500 if (saved) 500 if (saved)
501 { 501 {
523 box = gnt_hbox_new(FALSE); 523 box = gnt_hbox_new(FALSE);
524 gnt_box_set_alignment(GNT_BOX(box), GNT_ALIGN_LEFT); 524 gnt_box_set_alignment(GNT_BOX(box), GNT_ALIGN_LEFT);
525 gnt_box_add_widget(GNT_BOX(window), box); 525 gnt_box_add_widget(GNT_BOX(window), box);
526 gnt_box_add_widget(GNT_BOX(box), gnt_label_new(_("Title"))); 526 gnt_box_add_widget(GNT_BOX(box), gnt_label_new(_("Title")));
527 527
528 edit->title = entry = gnt_entry_new(saved ? gaim_savedstatus_get_title(saved) : NULL); 528 edit->title = entry = gnt_entry_new(saved ? purple_savedstatus_get_title(saved) : NULL);
529 gnt_box_add_widget(GNT_BOX(box), entry); 529 gnt_box_add_widget(GNT_BOX(box), entry);
530 530
531 /* Type */ 531 /* Type */
532 box = gnt_hbox_new(FALSE); 532 box = gnt_hbox_new(FALSE);
533 gnt_box_add_widget(GNT_BOX(window), box); 533 gnt_box_add_widget(GNT_BOX(window), box);
534 gnt_box_add_widget(GNT_BOX(box), label = gnt_label_new(_("Status"))); 534 gnt_box_add_widget(GNT_BOX(box), label = gnt_label_new(_("Status")));
535 gnt_widget_set_size(label, 0, 1); 535 gnt_widget_set_size(label, 0, 1);
536 536
537 edit->type = combo = gnt_combo_box_new(); 537 edit->type = combo = gnt_combo_box_new();
538 gnt_box_add_widget(GNT_BOX(box), combo); 538 gnt_box_add_widget(GNT_BOX(box), combo);
539 current = saved ? gaim_savedstatus_get_type(saved) : GAIM_STATUS_UNSET; 539 current = saved ? purple_savedstatus_get_type(saved) : PURPLE_STATUS_UNSET;
540 for (i = 0; prims[i] != GAIM_STATUS_UNSET; i++) 540 for (i = 0; prims[i] != PURPLE_STATUS_UNSET; i++)
541 { 541 {
542 gnt_combo_box_add_data(GNT_COMBO_BOX(combo), GINT_TO_POINTER(prims[i]), 542 gnt_combo_box_add_data(GNT_COMBO_BOX(combo), GINT_TO_POINTER(prims[i]),
543 gaim_primitive_get_name_from_type(prims[i])); 543 purple_primitive_get_name_from_type(prims[i]));
544 if (prims[i] == current) 544 if (prims[i] == current)
545 gnt_combo_box_set_selected(GNT_COMBO_BOX(combo), GINT_TO_POINTER(current)); 545 gnt_combo_box_set_selected(GNT_COMBO_BOX(combo), GINT_TO_POINTER(current));
546 } 546 }
547 547
548 /* Message */ 548 /* Message */
549 box = gnt_hbox_new(FALSE); 549 box = gnt_hbox_new(FALSE);
550 gnt_box_add_widget(GNT_BOX(window), box); 550 gnt_box_add_widget(GNT_BOX(window), box);
551 gnt_box_add_widget(GNT_BOX(box), gnt_label_new(_("Message"))); 551 gnt_box_add_widget(GNT_BOX(box), gnt_label_new(_("Message")));
552 552
553 edit->message = entry = gnt_entry_new(saved ? gaim_savedstatus_get_message(saved) : NULL); 553 edit->message = entry = gnt_entry_new(saved ? purple_savedstatus_get_message(saved) : NULL);
554 gnt_box_add_widget(GNT_BOX(window), entry); 554 gnt_box_add_widget(GNT_BOX(window), entry);
555 555
556 gnt_box_add_widget(GNT_BOX(window), gnt_hline_new()); 556 gnt_box_add_widget(GNT_BOX(window), gnt_hline_new());
557 gnt_box_add_widget(GNT_BOX(window), gnt_label_new(_("Use different status for following accounts"))); 557 gnt_box_add_widget(GNT_BOX(window), gnt_label_new(_("Use different status for following accounts")));
558 558
563 gnt_tree_set_column_titles(GNT_TREE(tree), _("Account"), _("Status"), _("Message")); 563 gnt_tree_set_column_titles(GNT_TREE(tree), _("Account"), _("Status"), _("Message"));
564 gnt_tree_set_col_width(GNT_TREE(tree), 0, 30); 564 gnt_tree_set_col_width(GNT_TREE(tree), 0, 30);
565 gnt_tree_set_col_width(GNT_TREE(tree), 1, 10); 565 gnt_tree_set_col_width(GNT_TREE(tree), 1, 10);
566 gnt_tree_set_col_width(GNT_TREE(tree), 2, 30); 566 gnt_tree_set_col_width(GNT_TREE(tree), 2, 30);
567 567
568 for (iter = gaim_accounts_get_all(); iter; iter = iter->next) 568 for (iter = purple_accounts_get_all(); iter; iter = iter->next)
569 { 569 {
570 add_substatus(edit, iter->data); 570 add_substatus(edit, iter->data);
571 } 571 }
572 572
573 g_signal_connect(G_OBJECT(tree), "key_pressed", G_CALLBACK(popup_substatus), edit); 573 g_signal_connect(G_OBJECT(tree), "key_pressed", G_CALLBACK(popup_substatus), edit);