Mercurial > pidgin
comparison src/gtkstatusbox.c @ 12123:355c7acbb61d
[gaim-migrate @ 14423]
Renamed /core/status/default and /core/status/idleaway to
/core/savedstatus/default and /core/savedstatus/idleaway,
and removed to redundant calls to set the 'default' pref
/core/savedstatus/default is set by gaim_savedstatus_activate()
in savedstatus.c
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Fri, 18 Nov 2005 03:45:01 +0000 |
parents | f746fb528dc9 |
children | 3c1bac709234 |
comparison
equal
deleted
inserted
replaced
12122:9b06c216e362 | 12123:355c7acbb61d |
---|---|
311 | 311 |
312 /* this function is inappropriate for ones with accounts */ | 312 /* this function is inappropriate for ones with accounts */ |
313 if (status_box->account) | 313 if (status_box->account) |
314 return; | 314 return; |
315 | 315 |
316 current_savedstatus_name = gaim_prefs_get_string("/core/status/current"); | 316 current_savedstatus_name = gaim_prefs_get_string("/core/savedstatus/current"); |
317 saved_status = gaim_savedstatus_find(current_savedstatus_name); | 317 saved_status = gaim_savedstatus_find(current_savedstatus_name); |
318 | 318 |
319 /* | 319 /* |
320 * Suppress the "changed" signal because the status | 320 * Suppress the "changed" signal because the status |
321 * was changed programmatically. | 321 * was changed programmatically. |
568 status_box->typing_pixbufs[3] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), GAIM_STOCK_STATUS_TYPING3, | 568 status_box->typing_pixbufs[3] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), GAIM_STOCK_STATUS_TYPING3, |
569 icon_size, "GtkGaimStatusBox"); | 569 icon_size, "GtkGaimStatusBox"); |
570 | 570 |
571 gtk_gaim_status_box_regenerate(status_box); | 571 gtk_gaim_status_box_regenerate(status_box); |
572 | 572 |
573 /* Monitor changes in the "/core/status/current" preference */ | 573 /* Monitor changes in the "/core/savedstatus/current" preference */ |
574 gaim_prefs_connect_callback(status_box, "/core/status/current", | 574 gaim_prefs_connect_callback(status_box, "/core/savedstatus/current", |
575 current_status_pref_changed_cb, status_box); | 575 current_status_pref_changed_cb, status_box); |
576 | 576 |
577 /* TODO: Need to override the destroy method for this object and put the following line in it */ | 577 /* TODO: Need to override the destroy method for this object and put the following line in it */ |
578 /* gaim_prefs_disconnect_by_handle(status_box); */ | 578 /* gaim_prefs_disconnect_by_handle(status_box); */ |
579 } | 579 } |
807 /* | 807 /* |
808 * If the currently selected status is "Custom..." or | 808 * If the currently selected status is "Custom..." or |
809 * "Saved..." then do nothing. Custom statuses are | 809 * "Saved..." then do nothing. Custom statuses are |
810 * activated elsewhere, and we update the status_box | 810 * activated elsewhere, and we update the status_box |
811 * accordingly by monitoring the preference | 811 * accordingly by monitoring the preference |
812 * "/core/status/current" and then calling | 812 * "/core/savedstatus/current" and then calling |
813 * update_to_reflect_current_status() | 813 * update_to_reflect_current_status() |
814 */ | 814 */ |
815 if ((type < 0) || (type >= GAIM_STATUS_NUM_PRIMITIVES)) | 815 if ((type < 0) || (type >= GAIM_STATUS_NUM_PRIMITIVES)) |
816 return; | 816 return; |
817 | 817 |
834 { | 834 { |
835 /* Selected status and previous status is the same */ | 835 /* Selected status and previous status is the same */ |
836 if (!message_changed(message, gaim_status_get_attr_string(status, "message"))) | 836 if (!message_changed(message, gaim_status_get_attr_string(status, "message"))) |
837 changed = FALSE; | 837 changed = FALSE; |
838 } | 838 } |
839 | 839 |
840 if (changed) | 840 if (changed) |
841 { | 841 { |
842 if (message) | 842 if (message) |
843 gaim_account_set_status(status_box->account, id, | 843 gaim_account_set_status(status_box->account, id, |
844 TRUE, "message", message, NULL); | 844 TRUE, "message", message, NULL); |
850 /* Save the newly selected status to prefs.xml and status.xml */ | 850 /* Save the newly selected status to prefs.xml and status.xml */ |
851 /* TODO: This should be saved as transient. */ | 851 /* TODO: This should be saved as transient. */ |
852 const char *current = NULL; | 852 const char *current = NULL; |
853 | 853 |
854 /* Has the status been really changed? */ | 854 /* Has the status been really changed? */ |
855 current = gaim_prefs_get_string("/core/status/current"); | 855 current = gaim_prefs_get_string("/core/savedstatus/current"); |
856 saved_status = gaim_savedstatus_find(current); | 856 saved_status = gaim_savedstatus_find(current); |
857 if (saved_status && gaim_savedstatus_get_type(saved_status) == type) | 857 if (saved_status && gaim_savedstatus_get_type(saved_status) == type) |
858 { | 858 { |
859 if (!message_changed(gaim_savedstatus_get_message(saved_status), message)) | 859 if (!message_changed(gaim_savedstatus_get_message(saved_status), message)) |
860 changed = FALSE; | 860 changed = FALSE; |
865 saved_status = gaim_savedstatus_find(_("Default")); | 865 saved_status = gaim_savedstatus_find(_("Default")); |
866 if (saved_status == NULL) | 866 if (saved_status == NULL) |
867 saved_status = gaim_savedstatus_new(_("Default"), type); | 867 saved_status = gaim_savedstatus_new(_("Default"), type); |
868 gaim_savedstatus_set_type(saved_status, type); | 868 gaim_savedstatus_set_type(saved_status, type); |
869 gaim_savedstatus_set_message(saved_status, message); | 869 gaim_savedstatus_set_message(saved_status, message); |
870 gaim_prefs_set_string("/core/status/current", _("Default")); | |
871 | 870 |
872 /* Set the status for each account */ | 871 /* Set the status for each account */ |
873 gaim_savedstatus_activate(saved_status); | 872 gaim_savedstatus_activate(saved_status); |
874 } | 873 } |
875 } | 874 } |