# HG changeset patch # User Richard Laager # Date 1221074430 0 # Node ID 3ab88169a2c2e6a5be367a40c29dc96d07118b03 # Parent fffcfbcc5792cf8818df372a1ddf5fc2736f4194 Provide a preference to allow users to keep their status message when changing their status. Thus, users who want Twitter/Facebook/"MSN"-style "personal messages" can get the right functionality, while those who want messages related to their current status can get the right functionality. Fixes #7033 diff -r fffcfbcc5792 -r 3ab88169a2c2 pidgin/gtkprefs.c --- a/pidgin/gtkprefs.c Wed Sep 10 04:12:59 2008 +0000 +++ b/pidgin/gtkprefs.c Wed Sep 10 19:20:30 2008 +0000 @@ -1005,6 +1005,12 @@ keyboard_shortcuts(ret); + /* Status selector options */ + vbox = pidgin_make_frame(ret, _("Status Selector")); + pidgin_prefs_checkbox(_("Keep the status message when the status is changed"), + PIDGIN_PREFS_ROOT "/status/keep_status_message", vbox); + + gtk_widget_show_all(ret); g_object_unref(sg); return ret; diff -r fffcfbcc5792 -r 3ab88169a2c2 pidgin/gtksavedstatuses.c --- a/pidgin/gtksavedstatuses.c Wed Sep 10 04:12:59 2008 +0000 +++ b/pidgin/gtksavedstatuses.c Wed Sep 10 19:20:30 2008 +0000 @@ -1913,6 +1913,7 @@ purple_prefs_add_none(PIDGIN_PREFS_ROOT "/status/dialog"); purple_prefs_add_int(PIDGIN_PREFS_ROOT "/status/dialog/width", 550); purple_prefs_add_int(PIDGIN_PREFS_ROOT "/status/dialog/height", 250); + purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/status/keep_status_message", FALSE); } void diff -r fffcfbcc5792 -r 3ab88169a2c2 pidgin/gtkstatusbox.c --- a/pidgin/gtkstatusbox.c Wed Sep 10 04:12:59 2008 +0000 +++ b/pidgin/gtkstatusbox.c Wed Sep 10 19:20:30 2008 +0000 @@ -2715,7 +2715,8 @@ gtk_widget_show_all(status_box->vbox); status_box->typing = g_timeout_add(TYPING_TIMEOUT, (GSourceFunc)remove_typing_cb, status_box); gtk_widget_grab_focus(status_box->imhtml); - gtk_imhtml_clear(GTK_IMHTML(status_box->imhtml)); + if (!purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/status/keep_status_message")) + gtk_imhtml_clear(GTK_IMHTML(status_box->imhtml)); } else {