# HG changeset patch # User Richard Laager # Date 1179685960 0 # Node ID ddf759c28d0b349a1dc0a0ac6ff5946e8f1f8be1 # Parent 569fa7a11a990f7879a9fbaf4a0d3914db88db0c# Parent 1f0657cd89d3ba74059525133dd2441fe188c26a merge of '004942f80429de395663b172b5d6c6e7d834050a' and 'ff732da54be1455c1077c12232b125b47357a9a7' diff -r 569fa7a11a99 -r ddf759c28d0b ChangeLog --- a/ChangeLog Sun May 20 17:05:42 2007 +0000 +++ b/ChangeLog Sun May 20 18:32:40 2007 +0000 @@ -42,6 +42,7 @@ and the XScreenSaver change will reduce Pidgin's effect on power consumption when running with NO_HZ. (Arjan van de Ven with Intel Corporation) + * Conversation -> Save As will now use aliases. Finch: * Userlist in chat windows, which can be turned on or off using diff -r 569fa7a11a99 -r ddf759c28d0b libpurple/util.c --- a/libpurple/util.c Sun May 20 17:05:42 2007 +0000 +++ b/libpurple/util.c Sun May 20 18:32:40 2007 +0000 @@ -4212,7 +4212,7 @@ gunichar c = g_utf8_get_char(iter); /* If the character is an ASCII character and is alphanumeric, * or one of the specified values, no need to escape */ - if (c < 128 && (isalnum(c) || c == '@' || c == '-' || + if (c < 128 && (g_ascii_isalnum(c) || c == '@' || c == '-' || c == '_' || c == '.' || c == '#')) { buf[j++] = c; } else { diff -r 569fa7a11a99 -r ddf759c28d0b pidgin/gtkconv.c --- a/pidgin/gtkconv.c Sun May 20 17:05:42 2007 +0000 +++ b/pidgin/gtkconv.c Sun May 20 18:32:40 2007 +0000 @@ -1012,12 +1012,24 @@ { PidginWindow *win = data; PurpleConversation *conv = pidgin_conv_window_get_active_conversation(win); + PurpleBuddy *buddy = purple_find_buddy(conv->account, conv->name); + const char *name; gchar *buf; - - buf = g_strdup_printf("%s.html", purple_normalize(conv->account, conv->name)); - + gchar *c; + + if (buddy != NULL) + name = purple_buddy_get_contact_alias(buddy); + else + name = purple_normalize(conv->account, conv->name); + + buf = g_strdup_printf("%s.html", name); + for (c = buf ; *c ; c++) + { + if (*c == '/' || *c == '\\') + *c = ' '; + } purple_request_file(PIDGIN_CONVERSATION(conv), _("Save Conversation"), - purple_escape_filename(buf), + buf, TRUE, G_CALLBACK(savelog_writefile_cb), NULL, NULL, NULL, conv, conv);