im.pidgin.pidgin: 1666e4ac675420b25c9763e9e38caac93d16c5b0
iwasroot at gmail.com
iwasroot at gmail.com
Sat Jan 5 13:10:38 EST 2008
-----------------------------------------------------------------
Revision: 1666e4ac675420b25c9763e9e38caac93d16c5b0
Ancestor: fc87a0a058f0e03b2193c74fe82ebeb51532576e
Author: iwasroot at gmail.com
Date: 2008-01-05T16:32:40
Branch: im.pidgin.pidgin
Modified files:
COPYRIGHT ChangeLog pidgin/gtkconv.c
ChangeLog:
Save the conversation "Enable Logging" option per-contact.
-------------- next part --------------
============================================================
--- COPYRIGHT 2311d8e470bd1d423bf8dade36e2c183871cc41d
+++ COPYRIGHT fc0ae00a4e1b80e128254b5e358298a5d5092cbc
@@ -167,6 +167,7 @@ Justin Heiner
Nick Hebner
Mike Heffner
Justin Heiner
+Moos Heintzen
Benjamin Herrenschmidt
Fernando Herrera
hjheins
============================================================
--- ChangeLog 56b93e9f7acafbfb6b27bfe3f1b2e23707b73dbe
+++ ChangeLog b17ed544cf98beac6c7166f6866b41b61f994a5c
@@ -12,8 +12,10 @@ version 2.4.0 (??/??/????):
* Added the ability to theme conversation name colors (red and blue)
through your GTK+ theme, and exposed those theme settings to the
Pidgin GTK+ Theme Control plugin (Dustin Howett)
- * Fixed having multiple alias edit areas in the infopane (Elliott Sales de
- Andrade)
+ * Fixed having multiple alias edit areas in the infopane (Elliott Sales
+ de Andrade)
+ * Save the conversation "Enable Logging" option per-contact (Moos
+ Heintzen)
Finch:
* Color is used in the buddylist to indicate status, and the conversation
============================================================
--- pidgin/gtkconv.c 9955929b8fe29f34aa9ab1cb107f8324f0becd55
+++ pidgin/gtkconv.c 4dbe27c9f39a6a6647043065956d7a6a6d5e169e
@@ -1350,6 +1350,7 @@ menu_logging_cb(gpointer data, guint act
PidginWindow *win = data;
PurpleConversation *conv;
gboolean logging;
+ PurpleBlistNode *node;
conv = pidgin_conv_window_get_active_conversation(win);
@@ -1360,6 +1361,8 @@ menu_logging_cb(gpointer data, guint act
if (logging == purple_conversation_is_logging(conv))
return;
+
+ node = get_conversation_blist_node(conv);
if (logging)
{
@@ -1383,6 +1386,27 @@ menu_logging_cb(gpointer data, guint act
/* Disable the logging second, so that the above message can be logged. */
purple_conversation_set_logging(conv, FALSE);
}
+
+ /* Save the setting IFF it's different than the pref. */
+ switch (conv->type)
+ {
+ case PURPLE_CONV_TYPE_IM:
+ if (logging == purple_prefs_get_bool("/purple/logging/log_ims"))
+ purple_blist_node_remove_setting(node, "enable-logging");
+ else
+ purple_blist_node_set_bool(node, "enable-logging", logging);
+ break;
+
+ case PURPLE_CONV_TYPE_CHAT:
+ if (logging == purple_prefs_get_bool("/purple/logging/log_chats"))
+ purple_blist_node_remove_setting(node, "enable-logging");
+ else
+ purple_blist_node_set_bool(node, "enable-logging", logging);
+ break;
+
+ default:
+ break;
+ }
}
static void
@@ -4907,6 +4931,7 @@ private_gtkconv_new(PurpleConversation *
GtkWidget *pane = NULL;
GtkWidget *tab_cont;
PurpleBlistNode *convnode;
+ PurpleValue *value;
if (conv_type == PURPLE_CONV_TYPE_IM && (gtkconv = pidgin_conv_find_gtkconv(conv))) {
conv->ui_data = gtkconv;
@@ -4994,6 +5019,13 @@ private_gtkconv_new(PurpleConversation *
if (convnode == NULL || !purple_blist_node_get_bool(convnode, "gtk-mute-sound"))
gtkconv->make_sound = TRUE;
+ if (convnode != NULL &&
+ (value = g_hash_table_lookup(convnode->settings, "enable-logging")) &&
+ purple_value_get_type(value) == PURPLE_TYPE_BOOLEAN)
+ {
+ purple_conversation_set_logging(conv, purple_value_get_boolean(value));
+ }
+
if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/show_formatting_toolbar"))
gtk_widget_show(gtkconv->toolbar);
else
More information about the Commits
mailing list