# HG changeset patch # User Sadrul Habib Chowdhury # Date 1184057903 0 # Node ID 58aeac6930faab0e7a5b1016b7da64940ffc7d77 # Parent c34981ad802adc37055b671f07a72c96ea1f83f5# Parent 6a8a142cd6007d0e357b6bc35a585eaa204ff6ce merge of '1bc2ea23969174b3ad8cb5bebc864bc222d2d5ea' and '76fc29e65404bf23ab7b09fc64d4312cf43637a0' diff -r c34981ad802a -r 58aeac6930fa .mtn-ignore --- a/.mtn-ignore Tue Jul 10 08:54:18 2007 +0000 +++ b/.mtn-ignore Tue Jul 10 08:58:23 2007 +0000 @@ -9,7 +9,7 @@ .*\.dll$ .*\.exe$ intltool-.* -Doxyfile$ +Doxyfile(\.mingw)?$ aclocal.m4 compile config.cache diff -r c34981ad802a -r 58aeac6930fa Makefile.mingw --- a/Makefile.mingw Tue Jul 10 08:54:18 2007 +0000 +++ b/Makefile.mingw Tue Jul 10 08:58:23 2007 +0000 @@ -56,7 +56,7 @@ #build an expression for `find` to use to ignore the above files EXTERNAL_DLLS_FIND_EXP = $(patsubst %,-o -name %,$(EXTERNAL_DLLS)) -.PHONY: all install installer installer_nogtk installer_debug installers clean uninstall create_release_install_dir +.PHONY: all docs install installer installer_nogtk installer_debug installers clean uninstall create_release_install_dir all: $(PIDGIN_CONFIG_H) $(MAKE) -C $(PURPLE_TOP) -f $(MINGW_MAKEFILE) @@ -88,11 +88,19 @@ installers: installer installer_nogtk installer_debug +Doxyfile.mingw: Doxyfile.in + sed -e "s/@PACKAGE@/pidgin/" -e "s/@VERSION@/$(PIDGIN_VERSION)/" -e "s/@top_srcdir@/$(PIDGIN_TREE_TOP)/g" -e "s/@enable_dot@/NO/" Doxyfile.in > Doxyfile.mingw + +docs: Doxyfile.mingw + @echo "Running doxygen..." + @doxygen Doxyfile.mingw + clean: $(MAKE) -C $(PURPLE_PO_TOP) -f $(MINGW_MAKEFILE) clean $(MAKE) -C $(PIDGIN_TOP) -f $(MINGW_MAKEFILE) clean $(MAKE) -C $(PURPLE_TOP) -f $(MINGW_MAKEFILE) clean rm -f $(PIDGIN_CONFIG_H) ./VERSION pidgin*.exe + rm -rf doc/html Doxyfile.mingw uninstall: rm -rf $(PURPLE_INSTALL_PERLMOD_DIR) $(PIDGIN_INSTALL_PLUGINS_DIR) $(PURPLE_INSTALL_PO_DIR) $(PIDGIN_INSTALL_DIR) $(PIDGIN_INSTALL_DIR).release diff -r c34981ad802a -r 58aeac6930fa finch/finch.c --- a/finch/finch.c Tue Jul 10 08:54:18 2007 +0000 +++ b/finch/finch.c Tue Jul 10 08:58:23 2007 +0000 @@ -55,17 +55,36 @@ purple_debug_set_ui_ops(finch_debug_get_ui_ops()); } +/* XXX: this "leaks" a hashtable on shutdown. I'll let + * the finch guys decide if they want to go through the trouble + * of properly freeing it, since their quit function doesn't + * live in this file */ + +static GHashTable *ui_info = NULL; + +static GHashTable *finch_ui_get_info() +{ + if(NULL == ui_info) { + ui_info = g_hash_table_new(g_str_hash, g_str_equal); + + g_hash_table_insert(ui_info, "name", (char*)_("Finch")); + g_hash_table_insert(ui_info, "version", VERSION); + } + + return ui_info; +} + static PurpleCoreUiOps core_ops = { finch_prefs_init, debug_init, gnt_ui_init, gnt_ui_uninit, + finch_ui_get_info, /* padding */ NULL, NULL, - NULL, NULL }; diff -r c34981ad802a -r 58aeac6930fa libpurple/blist.h --- a/libpurple/blist.h Tue Jul 10 08:54:18 2007 +0000 +++ b/libpurple/blist.h Tue Jul 10 08:58:23 2007 +0000 @@ -635,7 +635,7 @@ /** * Finds a group by name * - * @param name The groups name + * @param name The group's name * @return The group or NULL if the group does not exist */ PurpleGroup *purple_find_group(const char *name); diff -r c34981ad802a -r 58aeac6930fa libpurple/core.c --- a/libpurple/core.c Tue Jul 10 08:54:18 2007 +0000 +++ b/libpurple/core.c Tue Jul 10 08:58:23 2007 +0000 @@ -764,3 +764,12 @@ g_free(status_file); return TRUE; } + +GHashTable* purple_core_get_ui_info() { + PurpleCoreUiOps *ops = purple_core_get_ui_ops(); + + if(NULL == ops || NULL == ops->get_ui_info) + return NULL; + + return ops->get_ui_info(); +} diff -r c34981ad802a -r 58aeac6930fa libpurple/core.h --- a/libpurple/core.h Tue Jul 10 08:54:18 2007 +0000 +++ b/libpurple/core.h Tue Jul 10 08:58:23 2007 +0000 @@ -34,11 +34,11 @@ void (*debug_ui_init)(void); /* Unfortunate necessity. */ void (*ui_init)(void); void (*quit)(void); + GHashTable* (*get_ui_info)(void); void (*_purple_reserved1)(void); void (*_purple_reserved2)(void); void (*_purple_reserved3)(void); - void (*_purple_reserved4)(void); } PurpleCoreUiOps; #ifdef __cplusplus @@ -133,6 +133,17 @@ */ gboolean purple_core_ensure_single_instance(void); +/** + * Returns a hashtable containing various information about the UI + * + * @return A GHashTable with strings for keys and values. This + * hash table must not be freed. + * + * @since 2.1.0 + * + */ +GHashTable* purple_core_get_ui_info(void); + #ifdef __cplusplus } #endif diff -r c34981ad802a -r 58aeac6930fa libpurple/protocols/jabber/iq.c --- a/libpurple/protocols/jabber/iq.c Tue Jul 10 08:54:18 2007 +0000 +++ b/libpurple/protocols/jabber/iq.c Tue Jul 10 08:58:23 2007 +0000 @@ -19,6 +19,7 @@ * */ #include "internal.h" +#include "core.h" #include "debug.h" #include "prefs.h" #include "util.h" @@ -250,6 +251,8 @@ type = xmlnode_get_attrib(packet, "type"); if(type && !strcmp(type, "get")) { + GHashTable *ui_info; + const char *ui_name = NULL, *ui_version = NULL; if(!purple_prefs_get_bool("/plugins/prpl/jabber/hide_os")) { struct utsname osinfo; @@ -268,9 +271,23 @@ query = xmlnode_get_child(iq->node, "query"); - /* TODO: ask the core for the version of libpurple and the name and version of the UI */ - xmlnode_insert_data(xmlnode_new_child(query, "name"), "libpurple", -1); - xmlnode_insert_data(xmlnode_new_child(query, "version"), VERSION, -1); + ui_info = purple_core_get_ui_info(); + + if(NULL != ui_info) { + ui_name = g_hash_table_lookup(ui_info, "name"); + ui_version = g_hash_table_lookup(ui_info, "version"); + } + + if(NULL != ui_name && NULL != ui_version) { + char *version_complete = g_strdup_printf("%s (libpurple " VERSION ")", ui_version); + xmlnode_insert_data(xmlnode_new_child(query, "name"), ui_name, -1); + xmlnode_insert_data(xmlnode_new_child(query, "version"), version_complete, -1); + g_free(version_complete); + } else { + xmlnode_insert_data(xmlnode_new_child(query, "name"), "libpurple", -1); + xmlnode_insert_data(xmlnode_new_child(query, "version"), VERSION, -1); + } + if(os) { xmlnode_insert_data(xmlnode_new_child(query, "os"), os, -1); g_free(os); diff -r c34981ad802a -r 58aeac6930fa pidgin/eggtrayicon.c --- a/pidgin/eggtrayicon.c Tue Jul 10 08:54:18 2007 +0000 +++ b/pidgin/eggtrayicon.c Tue Jul 10 08:58:23 2007 +0000 @@ -543,7 +543,7 @@ xdisplay = egg_tray_icon_get_x_display(icon); if (xdisplay == NULL) - return; + return 0; ev.type = ClientMessage; ev.window = (Window)gtk_plug_get_id (GTK_PLUG (icon)); diff -r c34981ad802a -r 58aeac6930fa pidgin/gtkaccount.c --- a/pidgin/gtkaccount.c Tue Jul 10 08:54:18 2007 +0000 +++ b/pidgin/gtkaccount.c Tue Jul 10 08:58:23 2007 +0000 @@ -2088,7 +2088,6 @@ gtk_notebook_set_current_page(GTK_NOTEBOOK(accounts_window->notebook),1); set_account(accounts_window->model, &iter, account, global_buddyicon); - gtk_window_present(GTK_WINDOW(pidgin_blist_get_default_gtk_blist()->window)); } static gboolean diff -r c34981ad802a -r 58aeac6930fa pidgin/gtkconv.c --- a/pidgin/gtkconv.c Tue Jul 10 08:54:18 2007 +0000 +++ b/pidgin/gtkconv.c Tue Jul 10 08:58:23 2007 +0000 @@ -184,7 +184,6 @@ static void pidgin_conv_update_fields(PurpleConversation *conv, PidginConvFields fields); static void focus_out_from_menubar(GtkWidget *wid, PidginWindow *win); static void pidgin_conv_tab_pack(PidginWindow *win, PidginConversation *gtkconv); -static gboolean infopane_release_cb(GtkWidget *widget, GdkEventButton *e, PidginConversation *conv); static gboolean infopane_press_cb(GtkWidget *widget, GdkEventButton *e, PidginConversation *conv); static GdkColor *get_nick_color(PidginConversation *gtkconv, const char *name) { @@ -4410,8 +4409,6 @@ GDK_BUTTON1_MOTION_MASK | GDK_LEAVE_NOTIFY_MASK); g_signal_connect(G_OBJECT(event_box), "button_press_event", G_CALLBACK(infopane_press_cb), gtkconv); - g_signal_connect(G_OBJECT(event_box), "button_release_event", - G_CALLBACK(infopane_release_cb), gtkconv); gtkconv->infopane = gtk_cell_view_new(); @@ -7743,12 +7740,6 @@ } static gboolean -infopane_release_cb(GtkWidget *widget, GdkEventButton *e, PidginConversation *gtkconv) -{ - return FALSE; -} - -static gboolean notebook_release_cb(GtkWidget *widget, GdkEventButton *e, PidginWindow *win) { PidginWindow *dest_win; @@ -8333,6 +8324,9 @@ #ifdef _WIN32 g_signal_connect(G_OBJECT(win->window), "show", G_CALLBACK(winpidgin_ensure_onscreen), win->window); + + if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/win32/minimize_new_convs")) + gtk_window_iconify(GTK_WINDOW(win->window)); #endif return win; diff -r c34981ad802a -r 58aeac6930fa pidgin/gtkimhtml.c --- a/pidgin/gtkimhtml.c Tue Jul 10 08:54:18 2007 +0000 +++ b/pidgin/gtkimhtml.c Tue Jul 10 08:58:23 2007 +0000 @@ -216,7 +216,6 @@ clipboard_html_to_win32(char *html) { int length; GString *clipboard; - gchar *tmp; if (html == NULL) return NULL; @@ -224,13 +223,9 @@ length = strlen(html); clipboard = g_string_new ("Version:1.0\r\n"); g_string_append(clipboard, "StartHTML:0000000105\r\n"); - tmp = g_strdup_printf("EndHTML:%010d\r\n", 147 + length); - g_string_append(clipboard, tmp); - g_free(tmp); + g_string_append_printf(clipboard, "EndHTML:%010d\r\n", 147 + length); g_string_append(clipboard, "StartFragment:0000000127\r\n"); - tmp = g_strdup_printf("EndFragment:%010d\r\n", 127 + length); - g_string_append(clipboard, tmp); - g_free(tmp); + g_string_append_printf(clipboard, "EndFragment:%010d\r\n", 127 + length); g_string_append(clipboard, "\r\n"); g_string_append(clipboard, html); g_string_append(clipboard, "\r\n"); @@ -909,7 +904,7 @@ gtk_selection_data_set(selection_data, gdk_atom_intern("text/html", FALSE), 16, (const guchar *)selection, len); g_string_free(str, TRUE); #else - selection = clipboard_html_to_win32(imhtml->clipboard_html_string); + selection = clipboard_html_to_win32(html_clipboard); gtk_selection_data_set(selection_data, gdk_atom_intern("HTML Format", FALSE), 8, (const guchar *)selection, strlen(selection)); #endif g_free(selection); @@ -957,8 +952,8 @@ (GtkClipboardGetFunc)gtk_imhtml_clipboard_get, (GtkClipboardClearFunc)gtk_imhtml_clipboard_clear, G_OBJECT(imhtml)); - g_free(imhtml->clipboard_html_string); - g_free(imhtml->clipboard_text_string); + g_free(html_clipboard); + g_free(text_clipboard); imhtml->clipboard_html_string = gtk_imhtml_get_markup_range(imhtml, &start, &end); imhtml->clipboard_text_string = gtk_imhtml_get_text(imhtml, &start, &end); @@ -982,8 +977,8 @@ (GtkClipboardGetFunc)gtk_imhtml_clipboard_get, (GtkClipboardClearFunc)gtk_imhtml_clipboard_clear, G_OBJECT(imhtml)); - g_free(imhtml->clipboard_html_string); - g_free(imhtml->clipboard_text_string); + g_free(html_clipboard); + g_free(text_clipboard); imhtml->clipboard_html_string = gtk_imhtml_get_markup_range(imhtml, &start, &end); imhtml->clipboard_text_string = gtk_imhtml_get_text(imhtml, &start, &end); diff -r c34981ad802a -r 58aeac6930fa pidgin/gtkmain.c --- a/pidgin/gtkmain.c Tue Jul 10 08:54:18 2007 +0000 +++ b/pidgin/gtkmain.c Tue Jul 10 08:58:23 2007 +0000 @@ -316,6 +316,8 @@ pidgin_docklet_init(); } +static GHashTable *ui_info = NULL; + static void pidgin_quit(void) { @@ -337,17 +339,32 @@ pidgin_xfers_uninit(); pidgin_debug_uninit(); + if(NULL != ui_info) + g_hash_table_destroy(ui_info); + /* and end it all... */ gtk_main_quit(); } +static GHashTable *pidgin_ui_get_info() +{ + if(NULL == ui_info) { + ui_info = g_hash_table_new(g_str_hash, g_str_equal); + + g_hash_table_insert(ui_info, "name", (char*)PIDGIN_NAME); + g_hash_table_insert(ui_info, "version", VERSION); + } + + return ui_info; +} + static PurpleCoreUiOps core_ops = { pidgin_prefs_init, debug_init, pidgin_ui_init, pidgin_quit, - NULL, + pidgin_ui_get_info, NULL, NULL, NULL diff -r c34981ad802a -r 58aeac6930fa pidgin/gtkprefs.c --- a/pidgin/gtkprefs.c Tue Jul 10 08:54:18 2007 +0000 +++ b/pidgin/gtkprefs.c Tue Jul 10 08:58:23 2007 +0000 @@ -1014,6 +1014,8 @@ #ifdef _WIN32 pidgin_prefs_checkbox(_("F_lash window when IMs are received"), PIDGIN_PREFS_ROOT "/win32/blink_im", vbox); + + pidgin_prefs_checkbox(_("Minimi_ze new conversation windows"), PIDGIN_PREFS_ROOT "/win32/minimize_new_convs", vbox); #endif #if GTK_CHECK_VERSION(2,4,0) diff -r c34981ad802a -r 58aeac6930fa pidgin/gtkutils.c --- a/pidgin/gtkutils.c Tue Jul 10 08:54:18 2007 +0000 +++ b/pidgin/gtkutils.c Tue Jul 10 08:58:23 2007 +0000 @@ -676,6 +676,12 @@ return aop_option_menu_new(create_protocols_menu(id), cb, user_data); } +const char * +pidgin_protocol_option_menu_get_selected(GtkWidget *optmenu) +{ + return (const char *)aop_option_menu_get_selected(optmenu, NULL); +} + PurpleAccount * pidgin_account_option_menu_get_selected(GtkWidget *optmenu) { diff -r c34981ad802a -r 58aeac6930fa pidgin/gtkutils.h --- a/pidgin/gtkutils.h Tue Jul 10 08:54:18 2007 +0000 +++ b/pidgin/gtkutils.h Tue Jul 10 08:58:23 2007 +0000 @@ -236,6 +236,15 @@ gpointer user_data); /** + * Gets the currently selected protocol from a protocol drop down box. + * + * @param optmenu The drop-down option menu created by + * pidgin_account_option_menu_new. + * @return Returns the protocol ID that is currently selected. + */ +const char *pidgin_protocol_option_menu_get_selected(GtkWidget *optmenu); + +/** * Creates a drop-down option menu filled with accounts. * * @param default_account The account to select by default. @@ -255,7 +264,7 @@ /** * Gets the currently selected account from an account drop down box. * - * @param optmenu The GtkOptionMenu created by + * @param optmenu The drop-down option menu created by * pidgin_account_option_menu_new. * @return Returns the PurpleAccount that is currently selected. */ diff -r c34981ad802a -r 58aeac6930fa pidgin/pixmaps/edit.png Binary file pidgin/pixmaps/edit.png has changed diff -r c34981ad802a -r 58aeac6930fa pidgin/pixmaps/emblems/16/aol-client.png Binary file pidgin/pixmaps/emblems/16/aol-client.png has changed diff -r c34981ad802a -r 58aeac6930fa pidgin/pixmaps/emblems/16/blocked.png Binary file pidgin/pixmaps/emblems/16/blocked.png has changed diff -r c34981ad802a -r 58aeac6930fa pidgin/pixmaps/emblems/16/scalable/aol-client.svg --- a/pidgin/pixmaps/emblems/16/scalable/aol-client.svg Tue Jul 10 08:54:18 2007 +0000 +++ b/pidgin/pixmaps/emblems/16/scalable/aol-client.svg Tue Jul 10 08:58:23 2007 +0000 @@ -6,16 +6,16 @@ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="16px" height="16px" id="svg1307" sodipodi:version="0.32" - inkscape:version="0.43" - sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/emblems" + inkscape:version="0.44.1" + sodipodi:docbase="/home/hbons/Desktop/Pidgin/2.1.0/emblems/16/scalable" sodipodi:docname="aol-client.svg" - inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/emblems/aol-client.png" + inkscape:export-filename="/home/hbons/Desktop/aol-client.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90"> + inkscape:window-y="0" /> @@ -58,24 +58,8 @@ inkscape:label="Layer 1" inkscape:groupmode="layer"> - - + d="M 2 1 L 2 15 L 14 8 L 2 1 z M 6 4 C 8.1805207 4 10 5.7762679 10 8 C 10 10.223732 8.1805205 12 6 12 C 3.8194795 11.999999 2.0312501 10.223732 2.03125 8 C 2.03125 5.7762679 3.8194791 4.0000001 6 4 z M 6 5.125 C 4.3921597 5.125 3.1249999 6.4360487 3.125 8 C 3.125 9.5639514 4.3921593 10.84375 6 10.84375 C 7.6078403 10.84375 8.875 9.5639514 8.875 8 C 8.875 6.4360487 7.6078401 5.1249999 6 5.125 z " + id="rect2229" /> diff -r c34981ad802a -r 58aeac6930fa pidgin/pixmaps/emblems/16/scalable/blocked.svg --- a/pidgin/pixmaps/emblems/16/scalable/blocked.svg Tue Jul 10 08:54:18 2007 +0000 +++ b/pidgin/pixmaps/emblems/16/scalable/blocked.svg Tue Jul 10 08:58:23 2007 +0000 @@ -7,63 +7,154 @@ xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="16" - height="16" - id="svg2" + width="16px" + height="16px" + id="svg4220" sodipodi:version="0.32" - inkscape:version="0.43" - version="1.0" - sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/emblems" - sodipodi:docname="blocked.svg" - inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/emblems/blocked.png" + inkscape:version="0.44.1" + sodipodi:docbase="/home/hbons/Desktop/Pidgin/2.1.0/toolbars/16/scalable" + sodipodi:docname="block.svg" + inkscape:export-filename="/home/hbons/Desktop/block.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90"> + id="defs4222"> + id="linearGradient2835"> + id="stop2837" /> + id="stop2839" /> + + + + + + + + + + + + + + + - - - + xlink:href="#linearGradient2241" + id="linearGradient2816" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.669301,0,0,0.866653,-15.19698,-2.399762)" + x1="19.003813" + y1="9.3585329" + x2="15.520383" + y2="14.406374" /> + + + + xlink:href="#linearGradient2835" + id="linearGradient2847" + gradientUnits="userSpaceOnUse" + x1="4.4093828" + y1="8.8709669" + x2="5.0730915" + y2="6.2707229" + gradientTransform="translate(4.490962,-16.76051)" /> + inkscape:guide-bbox="true" /> + id="metadata4225"> @@ -97,21 +190,61 @@ - + inkscape:groupmode="layer"> + + + sodipodi:type="arc" + style="fill:#fecb81;fill-opacity:1;stroke:none;stroke-width:2.03035927;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2215" + sodipodi:cx="17.607706" + sodipodi:cy="10.679387" + sodipodi:rx="0.80383009" + sodipodi:ry="0.80383009" + d="M 18.411536 10.679387 A 0.80383009 0.80383009 0 1 1 16.803876,10.679387 A 0.80383009 0.80383009 0 1 1 18.411536 10.679387 z" + transform="matrix(-1.244046,0,0,1.245728,26.90479,-6.302258)" /> + + + diff -r c34981ad802a -r 58aeac6930fa pidgin/pixmaps/emotes/default/22/at-wits-end.png Binary file pidgin/pixmaps/emotes/default/22/at-wits-end.png has changed diff -r c34981ad802a -r 58aeac6930fa pidgin/pixmaps/emotes/default/22/female-fighter.png Binary file pidgin/pixmaps/emotes/default/22/female-fighter.png has changed diff -r c34981ad802a -r 58aeac6930fa pidgin/pixmaps/emotes/default/22/on-the-phone.png Binary file pidgin/pixmaps/emotes/default/22/on-the-phone.png has changed diff -r c34981ad802a -r 58aeac6930fa pidgin/pixmaps/emotes/default/22/scalable/smile-big.svg --- a/pidgin/pixmaps/emotes/default/22/scalable/smile-big.svg Tue Jul 10 08:54:18 2007 +0000 +++ b/pidgin/pixmaps/emotes/default/22/scalable/smile-big.svg Tue Jul 10 08:58:23 2007 +0000 @@ -7,23 +7,47 @@ xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="24" height="24" id="svg2" sodipodi:version="0.32" - inkscape:version="0.43" + inkscape:version="0.44.1" version="1.0" - sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/emotes" - sodipodi:docname="face-smile-big.svg" - inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/face-smile-big.png" + sodipodi:docbase="/home/hbons/Desktop/Pidgin/2.1.0" + sodipodi:docname="smile-big.svg" + inkscape:export-filename="/home/hbons/Desktop/smile-big.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90"> + + + + + + + + + + + + inkscape:window-width="1434" + inkscape:window-height="841" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:grid-points="true" /> @@ -163,25 +216,15 @@ d="M 21.781414 10.983024 A 9.975256 9.975256 0 1 1 1.8309021,10.983024 A 9.975256 9.975256 0 1 1 21.781414 10.983024 z" transform="matrix(0.8019,0,0,0.801938,2.532654,3.191833)" /> - - + transform="matrix(0.852176,0,0,0.852216,1.939749,2.639019)" /> + style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:#f57900;stroke-width:0.99999964;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 4.4999974,13.499993 C 4.4999974,17.423224 8.1971909,20.499996 11.999997,20.499996 C 15.802804,20.499996 19.499997,17.538156 19.499997,13.499993 L 4.4999974,13.499993 z " + id="path2785" + sodipodi:nodetypes="cscc" /> + + + + diff -r c34981ad802a -r 58aeac6930fa pidgin/pixmaps/emotes/default/22/smile-big.png Binary file pidgin/pixmaps/emotes/default/22/smile-big.png has changed diff -r c34981ad802a -r 58aeac6930fa pidgin/pixmaps/emotes/default/22/time-out.png Binary file pidgin/pixmaps/emotes/default/22/time-out.png has changed diff -r c34981ad802a -r 58aeac6930fa pidgin/pixmaps/icons/16/scalable/pidgin.svg --- a/pidgin/pixmaps/icons/16/scalable/pidgin.svg Tue Jul 10 08:54:18 2007 +0000 +++ b/pidgin/pixmaps/icons/16/scalable/pidgin.svg Tue Jul 10 08:58:23 2007 +0000 @@ -664,8 +664,8 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="30.009658" - inkscape:cx="12.410351" - inkscape:cy="9.6914614" + inkscape:cx="15.476031" + inkscape:cy="9.174961" inkscape:current-layer="layer1" showgrid="true" inkscape:grid-bbox="true" @@ -743,7 +743,7 @@ sodipodi:rx="1.2410715" sodipodi:ry="1.2946428" d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1 8.928571,24.3125 A 1.2410715 1.2946428 0 1 1 11.410714 24.3125 z" - transform="matrix(1.208634,0,0,1.158623,-8.791372,-20.66902)" /> + transform="matrix(0.805757,0,0,1.158623,-4.194263,-20.66902)" /> + transform="matrix(0.805754,0,0,1.158626,0.805772,-20.66909)" /> + y2="43.206608" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.660903,0,0,0.627207,-0.293224,-4.361383)" /> + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.660903,0,0,0.627207,-0.293224,-4.361383)" /> + y2="43.249905" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.67692,0,0,0.646801,-0.560381,-4.949693)" /> + y2="43.105652" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.67692,0,0,0.646801,-0.560381,-4.949693)" /> + - - + sodipodi:nodetypes="ccccszcsc" /> + transform="matrix(1.208633,0,0,1.158621,-5.825637,-16.66897)" /> - + transform="matrix(1.153827,0,0,1.158621,4.558885,-16.66895)" /> diff -r c34981ad802a -r 58aeac6930fa pidgin/pixmaps/toolbar/16/unblock.png Binary file pidgin/pixmaps/toolbar/16/unblock.png has changed diff -r c34981ad802a -r 58aeac6930fa pidgin/plugins/win32/transparency/win2ktrans.c --- a/pidgin/plugins/win32/transparency/win2ktrans.c Tue Jul 10 08:54:18 2007 +0000 +++ b/pidgin/plugins/win32/transparency/win2ktrans.c Tue Jul 10 08:58:23 2007 +0000 @@ -76,15 +76,6 @@ /* * CODE */ -static GtkWidget *wpurple_button(const char *text, const char *pref, GtkWidget *page) { - GtkWidget *button; - button = gtk_check_button_new_with_mnemonic(text); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), - purple_prefs_get_bool(pref)); - gtk_box_pack_start(GTK_BOX(page), button, FALSE, FALSE, 0); - gtk_widget_show(button); - return button; -} /* Set window transparency level */ static void set_wintrans(GtkWidget *window, int alpha, gboolean enabled, @@ -233,7 +224,8 @@ G_CALLBACK(focus_conv_win_cb), window); } -static void purple_conversation_delete(PurpleConversation *conv) { +static void +conversation_delete_cb(PurpleConversation *conv) { PidginWindow *win = pidgin_conv_get_window(PIDGIN_CONVERSATION(conv)); /* If it is the last conversation in the window, cleanup */ if (pidgin_conv_window_get_gtkconv_count(win) == 1) @@ -391,12 +383,35 @@ remove_convs_wintrans(FALSE); } -static void purple_new_conversation(PurpleConversation *conv) { +static void +conv_updated_cb(PurpleConversation *conv, PurpleConvUpdateType type) { + PidginConversation *pconv = PIDGIN_CONVERSATION(conv); + PidginWindow *win = pidgin_conv_get_window(pconv); + + if (type == PURPLE_CONV_UPDATE_UNSEEN && !pidgin_conv_is_hidden(pconv) + && pconv->unseen_state == PIDGIN_UNSEEN_NONE + && pidgin_conv_window_get_gtkconv_count(win) == 1) { + GtkWidget *window = win->window; + + set_conv_window_trans(NULL, win); + + if (g_signal_handler_find(G_OBJECT(window), G_SIGNAL_MATCH_FUNC, + 0, 0, NULL, G_CALLBACK(focus_conv_win_cb), NULL) == 0) { + g_signal_connect(G_OBJECT(window), "focus_in_event", + G_CALLBACK(focus_conv_win_cb), window); + g_signal_connect(G_OBJECT(window), "focus_out_event", + G_CALLBACK(focus_conv_win_cb), window); + } + } +} + +static void +new_conversation_cb(PurpleConversation *conv) { PidginWindow *win = pidgin_conv_get_window(PIDGIN_CONVERSATION(conv)); /* If it is the first conversation in the window, * add the sliders, and set transparency */ - if (pidgin_conv_window_get_gtkconv_count(win) == 1) { + if (!pidgin_conv_is_hidden(PIDGIN_CONVERSATION(conv)) && pidgin_conv_window_get_gtkconv_count(win) == 1) { GtkWidget *window = win->window; set_conv_window_trans(NULL, win); @@ -408,7 +423,8 @@ } } -static void blist_created_cb(PurpleBuddyList *purple_blist, gpointer data) { +static void +blist_created_cb(PurpleBuddyList *purple_blist, gpointer data) { if (blist) { if (purple_prefs_get_bool(OPT_WINTRANS_BL_ENABLED)) { set_wintrans(blist, @@ -477,17 +493,21 @@ purple_signal_connect(purple_conversations_get_handle(), "conversation-created", plugin, - PURPLE_CALLBACK(purple_new_conversation), NULL); + PURPLE_CALLBACK(new_conversation_cb), NULL); /* Set callback to remove window from the list, if the window is destroyed */ purple_signal_connect(purple_conversations_get_handle(), "deleting-conversation", plugin, - PURPLE_CALLBACK(purple_conversation_delete), NULL); + PURPLE_CALLBACK(conversation_delete_cb), NULL); purple_signal_connect(pidgin_conversations_get_handle(), "conversation-dragging", plugin, PURPLE_CALLBACK(set_conv_window_trans), NULL); + purple_signal_connect(purple_conversations_get_handle(), + "conversation-updated", plugin, + PURPLE_CALLBACK(conv_updated_cb), NULL); + update_existing_convs(); if (blist) @@ -531,7 +551,7 @@ /* IM Convo trans options */ imtransbox = pidgin_make_frame(ret, _("IM Conversation Windows")); - button = wpurple_button(_("_IM window transparency"), + button = pidgin_prefs_checkbox(_("_IM window transparency"), OPT_WINTRANS_IM_ENABLED, imtransbox); g_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(update_convs_wintrans), @@ -545,7 +565,7 @@ g_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(pidgin_toggle_sensitive), trans_box); - button = wpurple_button(_("_Show slider bar in IM window"), + button = pidgin_prefs_checkbox(_("_Show slider bar in IM window"), OPT_WINTRANS_IM_SLIDER, trans_box); g_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(update_convs_wintrans), @@ -555,7 +575,7 @@ _("Remove IM window transparency on focus"), OPT_WINTRANS_IM_ONFOCUS, trans_box); - button = wpurple_button(_("Always on top"), OPT_WINTRANS_IM_ONTOP, + button = pidgin_prefs_checkbox(_("Always on top"), OPT_WINTRANS_IM_ONTOP, trans_box); g_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(update_convs_wintrans), @@ -588,7 +608,7 @@ /* Buddy List trans options */ bltransbox = pidgin_make_frame (ret, _("Buddy List Window")); - button = wpurple_button(_("_Buddy List window transparency"), + button = pidgin_prefs_checkbox(_("_Buddy List window transparency"), OPT_WINTRANS_BL_ENABLED, bltransbox); g_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_blist_trans), @@ -603,7 +623,7 @@ button = pidgin_prefs_checkbox( _("Remove Buddy List window transparency on focus"), OPT_WINTRANS_BL_ONFOCUS, trans_box); - button = wpurple_button(_("Always on top"), OPT_WINTRANS_BL_ONTOP, + button = pidgin_prefs_checkbox(_("Always on top"), OPT_WINTRANS_BL_ONTOP, trans_box); g_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_blist_trans), diff -r c34981ad802a -r 58aeac6930fa pidgin/win32/nsis/pidgin-installer.nsi --- a/pidgin/win32/nsis/pidgin-installer.nsi Tue Jul 10 08:54:18 2007 +0000 +++ b/pidgin/win32/nsis/pidgin-installer.nsi Tue Jul 10 08:58:23 2007 +0000 @@ -1168,6 +1168,35 @@ ;Preselect the URI handlers as appropriate Call SelectURIHandlerSelections + ;Preselect the "shortcuts" checkboxes according to the previous installation + ClearErrors + ;Make sure that there was a previous installation + ReadRegStr $R0 HKCU "${PIDGIN_REG_KEY}" "Installer Language" + IfErrors done_preselecting_shortcuts + ;Does the Desktop shortcut exist? + GetFileTime "$DESKTOP\Pidgin.lnk" $R0 $R0 + IfErrors +1 +4 + ClearErrors + SetShellVarContext "all" + GetFileTime "$DESKTOP\Pidgin.lnk" $R0 $R0 + IfErrors preselect_startmenu_shortcut ;Desktop Shortcut if off by default + !insertmacro SelectSection ${SecDesktopShortcut} + preselect_startmenu_shortcut: + ;Reset ShellVarContext because we may have changed it + SetShellVarContext "current" + ClearErrors + ;Does the StartMenu shortcut exist? + GetFileTime "$SMPROGRAMS\Pidgin.lnk" $R0 $R0 + IfErrors +1 done_preselecting_shortcuts ;StartMenu Shortcut is on by default + ClearErrors + SetShellVarContext "all" + GetFileTime "$SMPROGRAMS\Pidgin.lnk" $R0 $R0 + IfErrors +1 done_preselecting_shortcuts ;StartMenu Shortcut is on by default + !insertmacro UnselectSection ${SecStartMenuShortcut} + done_preselecting_shortcuts: + ;Reset ShellVarContext because we may have changed it + SetShellVarContext "current" + StrCpy $ISSILENT "/NOUI" ; GTK installer has two silent states.. one with Message boxes, one without @@ -1305,7 +1334,7 @@ !ifndef WITH_GTK ; If this installer dosn't have GTK, check whether we need it. - ; We do this here an not in .onInit because language change in + ; We do this here and not in .onInit because language change in ; .onInit doesn't take effect until it is finished. Call DoWeNeedGtk Pop $R0