Mercurial > pidgin.yaz
diff pidgin/gtkconv.c @ 17712:43a55528ff26
propagate from branch 'im.pidgin.pidgin' (head b5c55520ae8ff7186733fd82db23a6e4452976cc)
to branch 'im.pidgin.soc.2007.finchfeat' (head 93037197c5356731d62e75b4050ca7d01b1017d6)
author | Eric Polino <aluink@pidgin.im> |
---|---|
date | Mon, 04 Jun 2007 15:12:50 +0000 |
parents | a8e63ed98673 |
children | 1873848dfddb f78b5aee202d fbebe15c91a7 295777a9e2a4 |
line wrap: on
line diff
--- a/pidgin/gtkconv.c Mon Jun 04 05:05:42 2007 +0000 +++ b/pidgin/gtkconv.c Mon Jun 04 15:12:50 2007 +0000 @@ -235,6 +235,10 @@ return FALSE; } + if (gdk_window_get_state(gtkconv->win->window->window) & GDK_WINDOW_STATE_MAXIMIZED) { + return FALSE; + } + /* I find that I resize the window when it has a bunch of conversations in it, mostly so that the * tab bar will fit, but then I don't want new windows taking up the entire screen. I check to see * if there is only one conversation in the window. This way we'll be setting new windows to the @@ -1012,12 +1016,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); @@ -3168,7 +3184,7 @@ stock_id = PIDGIN_STOCK_ANIMATION_TYPING1; tooltip = _("User is typing..."); } else { - stock_id = PIDGIN_STOCK_ANIMATION_TYPING0; + stock_id = PIDGIN_STOCK_ANIMATION_TYPING5; tooltip = _("User has typed something and stopped"); g_source_remove(gtkconv->u.im->typing_timer); gtkconv->u.im->typing_timer = 0; @@ -6939,6 +6955,9 @@ purple_prefs_add_int(PIDGIN_PREFS_ROOT "/conversations/tab_side", GTK_POS_TOP); purple_prefs_add_int(PIDGIN_PREFS_ROOT "/conversations/scrollback_lines", 4000); + purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/conversations/use_theme_font", TRUE); + purple_prefs_add_string(PIDGIN_PREFS_ROOT "/conversations/custom_font", ""); + /* Conversations -> Chat */ purple_prefs_add_none(PIDGIN_PREFS_ROOT "/conversations/chat"); purple_prefs_add_int(PIDGIN_PREFS_ROOT "/conversations/chat/default_width", 410); @@ -7702,6 +7721,11 @@ gtkconv = PIDGIN_CONVERSATION(conv); + if (gtkconv->u.im->typing_timer != 0) { + g_source_remove(gtkconv->u.im->typing_timer); + gtkconv->u.im->typing_timer = 0; + } + stop_anim(NULL, gtkconv); } static void @@ -7902,7 +7926,9 @@ entry = gtk_entry_new(); gtk_entry_set_has_frame(GTK_ENTRY(entry), FALSE); gtk_entry_set_width_chars(GTK_ENTRY(entry), 10); +#if GTK_CHECK_VERSION(2,4,0) gtk_entry_set_alignment(GTK_ENTRY(entry), 0.5); +#endif gtk_box_pack_start(GTK_BOX(gtkconv->tabby), entry, TRUE, TRUE, 0); /* after the tab label */ @@ -8309,7 +8335,9 @@ } ebox = gtk_event_box_new(); +#if GTK_CHECK_VERSION(2,4,0) gtk_event_box_set_visible_window(GTK_EVENT_BOX(ebox), FALSE); +#endif gtk_container_add(GTK_CONTAINER(ebox), gtkconv->tabby); g_signal_connect(G_OBJECT(ebox), "button-press-event", G_CALLBACK(alias_double_click_cb), gtkconv);