Mercurial > pidgin.yaz
changeset 18469:436d3c4c9930
merge of '3f89d563ddd1dda17f6a4f733ebe660614130ef4'
and '6925b187cb53cde1fb2cbac2cca954ab9193702e'
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Tue, 10 Jul 2007 05:42:51 +0000 |
parents | 8c16685b0fef (diff) 3f964a7e27e2 (current diff) |
children | 39af19fa3351 |
files | |
diffstat | 49 files changed, 820 insertions(+), 289 deletions(-) [+] |
line wrap: on
line diff
--- a/.mtn-ignore Thu Jul 05 08:06:08 2007 +0000 +++ b/.mtn-ignore Tue Jul 10 05:42:51 2007 +0000 @@ -9,7 +9,7 @@ .*\.dll$ .*\.exe$ intltool-.* -Doxyfile$ +Doxyfile(\.mingw)?$ aclocal.m4 compile config.cache
--- a/ChangeLog Thu Jul 05 08:06:08 2007 +0000 +++ b/ChangeLog Tue Jul 10 05:42:51 2007 +0000 @@ -30,6 +30,7 @@ * Some improvements for tab-completion, tooltip and the password entries * Some bugs regarding search results fixed * A new DBus-script to create a docklet for finch + * Support for showing empty groups in the buddy list (Eric Polino) version 2.0.2 (06/14/2007): Pidgin:
--- a/Makefile.mingw Thu Jul 05 08:06:08 2007 +0000 +++ b/Makefile.mingw Tue Jul 10 05:42:51 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
--- a/finch/finch.c Thu Jul 05 08:06:08 2007 +0000 +++ b/finch/finch.c Tue Jul 10 05:42:51 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 };
--- a/finch/gntblist.c Thu Jul 05 08:06:08 2007 +0000 +++ b/finch/gntblist.c Tue Jul 10 05:42:51 2007 +0000 @@ -195,8 +195,8 @@ node_update(list, (PurpleBlistNode*)contact); } else if (!PURPLE_BLIST_NODE_IS_GROUP(node)) { PurpleGroup *group = (PurpleGroup*)node->parent; - if ((!purple_prefs_get_bool(PREF_ROOT "/showoffline") && !is_group_online(group)) || - group->currentsize < 1) + if ((group->currentsize < 1 && !purple_prefs_get_bool(PREF_ROOT "/emptygroups")) || + (!purple_prefs_get_bool(PREF_ROOT "/showoffline") && !is_group_online(group))) node_remove(list, node->parent); for (node = node->child; node; node = node->next) node->ui_data = NULL; @@ -253,8 +253,9 @@ } } else if (PURPLE_BLIST_NODE_IS_GROUP(node)) { PurpleGroup *group = (PurpleGroup*)node; - if ((!purple_prefs_get_bool(PREF_ROOT "/showoffline") && !is_group_online(group)) || - group->currentsize < 1) + if (!purple_prefs_get_bool(PREF_ROOT "/emptygroups") && + ((!purple_prefs_get_bool(PREF_ROOT "/showoffline") && !is_group_online(group)) || + group->currentsize < 1)) node_remove(list, node); else add_node(node, list->ui_data); @@ -507,21 +508,24 @@ gboolean ascii = gnt_ascii_only(); presence = purple_buddy_get_presence(buddy); - now = purple_presence_get_active_status(presence); + if (purple_presence_is_status_primitive_active(presence, PURPLE_STATUS_MOBILE)) + strncpy(status, ascii ? ":" : "☎", sizeof(status) - 1); + else { + now = purple_presence_get_active_status(presence); - prim = purple_status_type_get_primitive(purple_status_get_type(now)); + prim = purple_status_type_get_primitive(purple_status_get_type(now)); - switch(prim) - { - case PURPLE_STATUS_OFFLINE: - strncpy(status, ascii ? "x" : "⊗", sizeof(status) - 1); - break; - case PURPLE_STATUS_AVAILABLE: - strncpy(status, ascii ? "o" : "◯", sizeof(status) - 1); - break; - default: - strncpy(status, ascii ? "." : "⊖", sizeof(status) - 1); - break; + switch(prim) { + case PURPLE_STATUS_OFFLINE: + strncpy(status, ascii ? "x" : "⊗", sizeof(status) - 1); + break; + case PURPLE_STATUS_AVAILABLE: + strncpy(status, ascii ? "o" : "◯", sizeof(status) - 1); + break; + default: + strncpy(status, ascii ? "." : "⊖", sizeof(status) - 1); + break; + } } name = purple_buddy_get_alias(buddy); } @@ -1269,12 +1273,14 @@ PurplePluginProtocolInfo *prpl_info; PurpleAccount *account; PurpleNotifyUserInfo *user_info; + PurplePresence *presence; const char *alias = purple_buddy_get_alias(buddy); char *tmp, *strip; user_info = purple_notify_user_info_new(); account = purple_buddy_get_account(buddy); + presence = purple_buddy_get_presence(buddy); if (!full || g_utf8_collate(purple_buddy_get_name(buddy), alias)) purple_notify_user_info_add_pair(user_info, _("Nickname"), alias); @@ -1308,6 +1314,10 @@ strip = purple_markup_strip_html(tmp); g_string_append(str, strip); + + if (purple_presence_is_status_primitive_active(presence, PURPLE_STATUS_MOBILE)) + g_string_append(str, _("On Mobile")); + g_free(strip); g_free(tmp); } @@ -1717,9 +1727,12 @@ purple_prefs_add_int(PREF_ROOT "/position/y", 0); purple_prefs_add_bool(PREF_ROOT "/idletime", TRUE); purple_prefs_add_bool(PREF_ROOT "/showoffline", FALSE); + purple_prefs_add_bool(PREF_ROOT "/emptygroups", FALSE); purple_prefs_add_string(PREF_ROOT "/sort_type", "text"); purple_prefs_connect_callback(finch_blist_get_handle(), + PREF_ROOT "/emptygroups", redraw_blist, NULL); + purple_prefs_connect_callback(finch_blist_get_handle(), PREF_ROOT "/showoffline", redraw_blist, NULL); purple_prefs_connect_callback(finch_blist_get_handle(), PREF_ROOT "/sort_type", redraw_blist, NULL); @@ -2127,10 +2140,9 @@ } } -static void show_offline_cb(GntMenuItem *item, gpointer n) +static void toggle_pref_cb(GntMenuItem *item, gpointer n) { - purple_prefs_set_bool(PREF_ROOT "/showoffline", - !purple_prefs_get_bool(PREF_ROOT "/showoffline")); + purple_prefs_set_bool(n, !purple_prefs_get_bool(n)); } static void sort_blist_change_cb(GntMenuItem *item, gpointer n) @@ -2211,11 +2223,17 @@ gnt_menu_add_item(GNT_MENU(sub), item); gnt_menuitem_set_callback(GNT_MENU_ITEM(item), send_im_select, NULL); + item = gnt_menuitem_check_new(_("Show empty groups")); + gnt_menuitem_check_set_checked(GNT_MENU_ITEM_CHECK(item), + purple_prefs_get_bool(PREF_ROOT "/emptygroups")); + gnt_menu_add_item(GNT_MENU(sub), item); + gnt_menuitem_set_callback(GNT_MENU_ITEM(item), toggle_pref_cb, PREF_ROOT "/emptygroups"); + item = gnt_menuitem_check_new(_("Show offline buddies")); gnt_menuitem_check_set_checked(GNT_MENU_ITEM_CHECK(item), purple_prefs_get_bool(PREF_ROOT "/showoffline")); gnt_menu_add_item(GNT_MENU(sub), item); - gnt_menuitem_set_callback(GNT_MENU_ITEM(item), show_offline_cb, NULL); + gnt_menuitem_set_callback(GNT_MENU_ITEM(item), toggle_pref_cb, PREF_ROOT "/showoffline"); item = gnt_menuitem_new(_("Sort by status")); gnt_menu_add_item(GNT_MENU(sub), item);
--- a/finch/libgnt/gntcombobox.c Thu Jul 05 08:06:08 2007 +0000 +++ b/finch/libgnt/gntcombobox.c Tue Jul 10 05:42:51 2007 +0000 @@ -107,7 +107,7 @@ GntWidget *dd = GNT_COMBO_BOX(widget)->dropdown; gnt_widget_size_request(dd); widget->priv.height = 3; /* For now, a combobox will have border */ - widget->priv.width = MAX(10, dd->priv.width + 4); + widget->priv.width = MAX(10, dd->priv.width + 2); } }
--- a/finch/libgnt/gntfilesel.c Thu Jul 05 08:06:08 2007 +0000 +++ b/finch/libgnt/gntfilesel.c Tue Jul 10 05:42:51 2007 +0000 @@ -587,7 +587,7 @@ G_STRUCT_OFFSET(GntFileSelClass, file_selected), NULL, NULL, gnt_closure_marshal_VOID__STRING_STRING, - G_TYPE_NONE, 0); + G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING); gnt_bindable_class_register_action(bindable, "toggle-tag", toggle_tag_selection, "t", NULL); gnt_bindable_class_register_action(bindable, "clear-tags", clear_tags, "c", NULL); @@ -634,6 +634,16 @@ return type; } +static void +select_activated_cb(GntWidget *button, GntFileSel *sel) +{ + char *path = gnt_file_sel_get_selected_file(sel); + char *file = g_path_get_basename(path); + g_signal_emit(sel, signals[SIG_FILE_SELECTED], 0, path, file); + g_free(file); + g_free(path); +} + GntWidget *gnt_file_sel_new(void) { GntWidget *widget = g_object_new(GNT_TYPE_FILE_SEL, NULL); @@ -653,6 +663,7 @@ gnt_tree_set_show_title(GNT_TREE(sel->files), TRUE); gnt_tree_set_col_width(GNT_TREE(sel->files), 0, 25); gnt_tree_set_col_width(GNT_TREE(sel->files), 1, 10); + gnt_tree_set_column_is_right_aligned(GNT_TREE(sel->files), 1, TRUE); g_signal_connect(G_OBJECT(sel->files), "selection_changed", G_CALLBACK(file_sel_changed), sel); /* The location entry */ @@ -662,6 +673,8 @@ sel->cancel = gnt_button_new("Cancel"); sel->select = gnt_button_new("Select"); + g_signal_connect(G_OBJECT(sel->select), "activate", G_CALLBACK(select_activated_cb), sel); + return widget; }
--- a/finch/libgnt/gntmain.c Thu Jul 05 08:06:08 2007 +0000 +++ b/finch/libgnt/gntmain.c Tue Jul 10 05:42:51 2007 +0000 @@ -352,6 +352,14 @@ static GntWidget *win = NULL; GntWidget *bbox, *button; + if (wm->menu) { + do { + gnt_widget_hide(GNT_WIDGET(wm->menu)); + if (wm->menu) + wm->menu = wm->menu->parentmenu; + } while (wm->menu); + } + if (win) goto raise;
--- a/finch/libgnt/gntmenu.c Thu Jul 05 08:06:08 2007 +0000 +++ b/finch/libgnt/gntmenu.c Tue Jul 10 05:42:51 2007 +0000 @@ -23,6 +23,7 @@ #include "gntmenu.h" #include "gntmenuitemcheck.h" +#include <ctype.h> #include <string.h> enum @@ -30,11 +31,20 @@ SIGS = 1, }; +enum +{ + ITEM_TEXT = 0, + ITEM_TRIGGER, + ITEM_SUBMENU, + NUM_COLUMNS +}; + static GntTreeClass *parent_class = NULL; static void (*org_draw)(GntWidget *wid); static void (*org_destroy)(GntWidget *wid); static void (*org_map)(GntWidget *wid); +static void (*org_size_request)(GntWidget *wid); static gboolean (*org_key_pressed)(GntWidget *w, const char *t); static void @@ -75,21 +85,26 @@ widget->priv.height = 1; widget->priv.width = getmaxx(stdscr); } else { + org_size_request(widget); widget->priv.height = g_list_length(menu->list) + 2; - widget->priv.width = 25; /* XXX: */ } } static void menu_tree_add(GntMenu *menu, GntMenuItem *item, GntMenuItem *parent) { + char trigger[4] = "\0 )\0"; + + if ((trigger[1] = gnt_menuitem_get_trigger(item)) && trigger[1] != ' ') + trigger[0] = '('; + if (GNT_IS_MENU_ITEM_CHECK(item)) { gnt_tree_add_choice(GNT_TREE(menu), item, - gnt_tree_create_row(GNT_TREE(menu), item->text, " "), parent, NULL); + gnt_tree_create_row(GNT_TREE(menu), item->text, trigger, " "), parent, NULL); gnt_tree_set_choice(GNT_TREE(menu), item, gnt_menuitem_check_get_checked(GNT_MENU_ITEM_CHECK(item))); } else gnt_tree_add_row_last(GNT_TREE(menu), item, - gnt_tree_create_row(GNT_TREE(menu), item->text, item->submenu ? ">" : " "), parent); + gnt_tree_create_row(GNT_TREE(menu), item->text, trigger, item->submenu ? ">" : " "), parent); if (0 && item->submenu) { GntMenu *sub = GNT_MENU(item->submenu); @@ -101,6 +116,45 @@ } } +#define GET_VAL(ch) ((ch >= '0' && ch <= '9') ? (ch - '0') : (ch >= 'a' && ch <= 'z') ? (10 + ch - 'a') : 36) + +static void +assign_triggers(GntMenu *menu) +{ + GList *iter; + gboolean bools[37]; + + memset(bools, 0, sizeof(bools)); + bools[36] = 1; + + for (iter = menu->list; iter; iter = iter->next) { + GntMenuItem *item = iter->data; + char trigger = tolower(gnt_menuitem_get_trigger(item)); + if (trigger == '\0' || trigger == ' ') + continue; + bools[(int)GET_VAL(trigger)] = 1; + } + + for (iter = menu->list; iter; iter = iter->next) { + GntMenuItem *item = iter->data; + char trigger = gnt_menuitem_get_trigger(item); + const char *text = item->text; + if (trigger != '\0') + continue; + while (*text) { + char ch = tolower(*text++); + if (ch == ' ' || bools[(int)GET_VAL(ch)]) + continue; + trigger = ch; + break; + } + if (trigger == 0) + trigger = item->text[0]; + gnt_menuitem_set_trigger(item, trigger); + bools[(int)GET_VAL(trigger)] = 1; + } +} + static void gnt_menu_map(GntWidget *widget) { @@ -112,6 +166,8 @@ /* Populate the tree */ GList *iter; gnt_tree_remove_all(GNT_TREE(widget)); + /* Try to assign some trigger for the items */ + assign_triggers(menu); for (iter = menu->list; iter; iter = iter->next) { GntMenuItem *item = GNT_MENU_ITEM(iter->data); menu_tree_add(menu, item, NULL); @@ -149,6 +205,41 @@ } } +static GList* +find_item_with_trigger(GList *start, GList *end, char trigger) +{ + GList *iter; + for (iter = start; iter != (end ? end : NULL); iter = iter->next) { + if (gnt_menuitem_get_trigger(iter->data) == trigger) + return iter; + } + return NULL; +} + +static gboolean +check_for_trigger(GntMenu *menu, char trigger) +{ + /* check for a trigger key */ + GList *iter; + GList *nth = g_list_find(menu->list, gnt_tree_get_selection_data(GNT_TREE(menu))); + GList *find = find_item_with_trigger(nth->next, NULL, trigger); + if (!find) + find = find_item_with_trigger(menu->list, nth->next, trigger); + if (!find) + return FALSE; + if (find != nth) { + gnt_tree_set_selected(GNT_TREE(menu), find->data); + iter = find_item_with_trigger(find->next, NULL, trigger); + if (iter != NULL && iter != find) + return TRUE; + iter = find_item_with_trigger(menu->list, nth, trigger); + if (iter != NULL && iter != find) + return TRUE; + } + gnt_widget_activate(GNT_WIDGET(menu)); + return TRUE; +} + static gboolean gnt_menu_key_pressed(GntWidget *widget, const char *text) { @@ -189,6 +280,10 @@ return TRUE; } } else { + if (text[1] == '\0') { + if (check_for_trigger(menu, text[0])) + return TRUE; + } return org_key_pressed(widget, text); } @@ -260,6 +355,7 @@ org_map = wid_class->map; org_draw = wid_class->draw; org_key_pressed = wid_class->key_pressed; + org_size_request = wid_class->size_request; wid_class->destroy = gnt_menu_destroy; wid_class->draw = gnt_menu_draw; @@ -327,9 +423,11 @@ widget->priv.y = 0; } else { GNT_TREE(widget)->show_separator = FALSE; - _gnt_tree_init_internals(GNT_TREE(widget), 2); - gnt_tree_set_col_width(GNT_TREE(widget), 1, 1); /* The second column is to indicate that it has a submenu */ - gnt_tree_set_column_resizable(GNT_TREE(widget), 1, FALSE); + _gnt_tree_init_internals(GNT_TREE(widget), NUM_COLUMNS); + gnt_tree_set_col_width(GNT_TREE(widget), ITEM_TRIGGER, 3); + gnt_tree_set_column_resizable(GNT_TREE(widget), ITEM_TRIGGER, FALSE); + gnt_tree_set_col_width(GNT_TREE(widget), ITEM_SUBMENU, 1); + gnt_tree_set_column_resizable(GNT_TREE(widget), ITEM_SUBMENU, FALSE); GNT_WIDGET_UNSET_FLAGS(widget, GNT_WIDGET_NO_BORDER); }
--- a/finch/libgnt/gntmenuitem.c Thu Jul 05 08:06:08 2007 +0000 +++ b/finch/libgnt/gntmenuitem.c Tue Jul 10 05:42:51 2007 +0000 @@ -104,3 +104,13 @@ item->submenu = menu; } +void gnt_menuitem_set_trigger(GntMenuItem *item, char trigger) +{ + item->priv.trigger = trigger; +} + +char gnt_menuitem_get_trigger(GntMenuItem *item) +{ + return item->priv.trigger; +} +
--- a/finch/libgnt/gntmenuitem.h Thu Jul 05 08:06:08 2007 +0000 +++ b/finch/libgnt/gntmenuitem.h Tue Jul 10 05:42:51 2007 +0000 @@ -52,6 +52,7 @@ /* These will be used to determine the position of the submenu */ int x; int y; + char trigger; }; typedef void (*GntMenuItemCallback)(GntMenuItem *item, gpointer data); @@ -114,6 +115,25 @@ */ void gnt_menuitem_set_submenu(GntMenuItem *item, GntMenu *menu); +/** + * Set a trigger key for the item. + * + * @param item The menuitem + * @param trigger The key that will trigger the item when the parent manu is visible + */ +void gnt_menuitem_set_trigger(GntMenuItem *item, char trigger); + +/** + * Get the trigger key for a menuitem. + * + * @param item The menuitem + * + * @return The trigger key for the menuitem. + * + * @see gnt_menuitem_set_trigger + */ +char gnt_menuitem_get_trigger(GntMenuItem *item); + G_END_DECLS #endif /* GNT_MENUITEM_H */
--- a/finch/libgnt/gnttree.c Thu Jul 05 08:06:08 2007 +0000 +++ b/finch/libgnt/gnttree.c Tue Jul 10 05:42:51 2007 +0000 @@ -33,6 +33,7 @@ #define COLUMN_INVISIBLE(tree, index) (tree->columns[index].flags & GNT_TREE_COLUMN_INVISIBLE) #define BINARY_DATA(tree, index) (tree->columns[index].flags & GNT_TREE_COLUMN_BINARY_DATA) +#define RIGHT_ALIGNED(tree, index) (tree->columns[index].flags & GNT_TREE_COLUMN_RIGHT_ALIGNED) enum { @@ -86,13 +87,15 @@ int width; #define WIDTH(i) (tree->columns[i].width_ratio ? tree->columns[i].width_ratio : tree->columns[i].width) gnt_widget_get_size(GNT_WIDGET(tree), &width, NULL); + if (!GNT_WIDGET_IS_FLAG_SET(GNT_WIDGET(tree), GNT_WIDGET_NO_BORDER)) + width -= 2; for (i = 0, total = 0; i < tree->ncol ; i++) { if (tree->columns[i].flags & GNT_TREE_COLUMN_INVISIBLE) continue; if (tree->columns[i].flags & GNT_TREE_COLUMN_FIXED_SIZE) - width -= WIDTH(i); + width -= WIDTH(i) + 1; else - total += WIDTH(i); + total += WIDTH(i) + 1; } if (total == 0) @@ -283,10 +286,6 @@ GList *iter; int i; gboolean notfirst = FALSE; - int lastvisible = tree->ncol; - - while (lastvisible && COLUMN_INVISIBLE(tree, lastvisible)) - lastvisible--; for (i = 0, iter = row->columns; i < tree->ncol && iter; i++, iter = iter->next) { @@ -308,10 +307,7 @@ len = gnt_util_onscreen_width(display, NULL); - if (i == lastvisible) - width = GNT_WIDGET(tree)->priv.width - gnt_util_onscreen_width(string->str, NULL); - else - width = tree->columns[i].width; + width = tree->columns[i].width; if (i == 0) { @@ -339,8 +335,7 @@ g_string_append_printf(string, "%*s", fl, ""); } len += fl; - } - else if (notfirst) + } else if (notfirst && tree->show_separator) g_string_append_c(string, '|'); else g_string_append_c(string, ' '); @@ -351,6 +346,11 @@ len = width - 1; cut = TRUE; } + + if (RIGHT_ALIGNED(tree, i) && len < tree->columns[i].width) { + g_string_append_printf(string, "%*s", width - len, ""); + } + text = gnt_util_onscreen_width_to_pointer(display, len - fl, NULL); string = g_string_append_len(string, display, text - display); if (cut) { /* ellipsis */ @@ -361,7 +361,7 @@ len++; } - if (len < tree->columns[i].width && iter->next) + if (!RIGHT_ALIGNED(tree, i) && len < tree->columns[i].width && iter->next) g_string_append_printf(string, "%*s", width - len, ""); } return g_string_free(string, FALSE); @@ -598,9 +598,13 @@ { GntTree *tree = GNT_TREE(widget); int i, width = 0; + width = 1 + 2 * (!GNT_WIDGET_IS_FLAG_SET(GNT_WIDGET(tree), GNT_WIDGET_NO_BORDER)); for (i = 0; i < tree->ncol; i++) - if (!COLUMN_INVISIBLE(tree, i)) - width += tree->columns[i].width + 1; + if (!COLUMN_INVISIBLE(tree, i)) { + width = width + tree->columns[i].width; + if (tree->lastvisible != i) + width++; + } widget->priv.width = width; } } @@ -1502,6 +1506,7 @@ tree->ncol = col; tree->hash = g_hash_table_new_full(g_direct_hash, g_direct_equal, NULL, free_tree_row); tree->columns = g_new0(struct _GntTreeColInfo, col); + tree->lastvisible = col - 1; while (col--) { tree->columns[col].width = 15; @@ -1647,9 +1652,14 @@ twidth = 1 + 2 * (!GNT_WIDGET_IS_FLAG_SET(GNT_WIDGET(tree), GNT_WIDGET_NO_BORDER)); for (i = 0; i < tree->ncol; i++) { + if (tree->columns[i].flags & GNT_TREE_COLUMN_FIXED_SIZE) + widths[i] = tree->columns[i].width; gnt_tree_set_col_width(tree, i, widths[i]); - if (!COLUMN_INVISIBLE(tree, i)) - twidth += widths[i] + (tree->show_separator ? 1 : 0) + 1; + if (!COLUMN_INVISIBLE(tree, i)) { + twidth = twidth + widths[i]; + if (tree->lastvisible != i) + twidth += 1; + } } g_free(widths); @@ -1676,6 +1686,18 @@ { g_return_if_fail(col < tree->ncol); set_column_flag(tree, col, GNT_TREE_COLUMN_INVISIBLE, !vis); + if (vis) { + /* the column is visible */ + if (tree->lastvisible < col) + tree->lastvisible = col; + } else { + if (tree->lastvisible == col) + while (tree->lastvisible) { + tree->lastvisible--; + if (!COLUMN_INVISIBLE(tree, tree->lastvisible)) + break; + } + } } void gnt_tree_set_column_resizable(GntTree *tree, int col, gboolean res) @@ -1690,6 +1712,12 @@ set_column_flag(tree, col, GNT_TREE_COLUMN_FIXED_SIZE, bin); } +void gnt_tree_set_column_is_right_aligned(GntTree *tree, int col, gboolean right) +{ + g_return_if_fail(col < tree->ncol); + set_column_flag(tree, col, GNT_TREE_COLUMN_RIGHT_ALIGNED, right); +} + void gnt_tree_set_column_width_ratio(GntTree *tree, int cols[]) { int i;
--- a/finch/libgnt/gnttree.h Thu Jul 05 08:06:08 2007 +0000 +++ b/finch/libgnt/gnttree.h Tue Jul 10 05:42:51 2007 +0000 @@ -51,6 +51,7 @@ GNT_TREE_COLUMN_INVISIBLE = 1 << 0, GNT_TREE_COLUMN_FIXED_SIZE = 1 << 1, GNT_TREE_COLUMN_BINARY_DATA = 1 << 2, + GNT_TREE_COLUMN_RIGHT_ALIGNED = 1 << 3, } GntTreeColumnFlag; struct _GntTree @@ -86,6 +87,7 @@ int search_timeout; GCompareFunc compare; + int lastvisible; }; struct _GntTreeClass @@ -480,6 +482,15 @@ void gnt_tree_set_column_is_binary(GntTree *tree, int col, gboolean bin); /** + * Set whether text in a column should be right-aligned. + * + * @param tree The tree + * @param col The index of the column + * @param right @c TRUE if the text in the column should be right aligned + */ +void gnt_tree_set_column_is_right_aligned(GntTree *tree, int col, gboolean right); + +/** * Set column widths to use when calculating column widths after a tree * is resized. *
--- a/libpurple/account.c Thu Jul 05 08:06:08 2007 +0000 +++ b/libpurple/account.c Tue Jul 10 05:42:51 2007 +0000 @@ -2183,6 +2183,7 @@ purple_accounts_delete(PurpleAccount *account) { PurpleBlistNode *gnode, *cnode, *bnode; + GList *iter; g_return_if_fail(account != NULL); @@ -2231,6 +2232,14 @@ } } + /* Remove any open conversation for this account */ + for (iter = purple_get_conversations(); iter; ) { + PurpleConversation *conv = iter->data; + iter = iter->next; + if (purple_conversation_get_account(conv) == account) + purple_conversation_destroy(conv); + } + /* Remove this account's pounces */ purple_pounce_destroy_all_by_account(account);
--- a/libpurple/blist.h Thu Jul 05 08:06:08 2007 +0000 +++ b/libpurple/blist.h Tue Jul 10 05:42:51 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);
--- a/libpurple/core.c Thu Jul 05 08:06:08 2007 +0000 +++ b/libpurple/core.c Tue Jul 10 05:42:51 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(); +}
--- a/libpurple/core.h Thu Jul 05 08:06:08 2007 +0000 +++ b/libpurple/core.h Tue Jul 10 05:42:51 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
--- a/libpurple/plugins/perl/common/Makefile.mingw Thu Jul 05 08:06:08 2007 +0000 +++ b/libpurple/plugins/perl/common/Makefile.mingw Tue Jul 10 05:42:51 2007 +0000 @@ -20,6 +20,7 @@ INCLUDE_PATHS += -I. \ -I$(PIDGIN_TREE_TOP) \ -I$(PURPLE_TOP) \ + -I$(PURPLE_TOP)/win32 \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/glib-2.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \
--- a/libpurple/plugins/perl/perl-common.h Thu Jul 05 08:06:08 2007 +0000 +++ b/libpurple/plugins/perl/perl-common.h Tue Jul 10 05:42:51 2007 +0000 @@ -11,7 +11,14 @@ /* XXX: perl defines it's own _ but I think it's safe to undef it */ #undef _ +/* Dirty hack to prevent the win32 libc compat stuff from interfering with the Perl internal stuff */ +#ifdef _WIN32 +#define _WIN32DEP_H_ +#endif #include "internal.h" +#ifdef _WIN32 +#undef _WIN32DEP_H_ +#endif #include "plugin.h" #include "value.h"
--- a/libpurple/protocols/gg/gg.c Thu Jul 05 08:06:08 2007 +0000 +++ b/libpurple/protocols/gg/gg.c Tue Jul 10 05:42:51 2007 +0000 @@ -1074,9 +1074,7 @@ } } - val = ggp_buddy_get_name(gc, ggp_str_to_uin(who)); - purple_notify_userinfo(gc, val, user_info, ggp_sr_close_cb, form); - g_free(val); + purple_notify_userinfo(gc, who, user_info, ggp_sr_close_cb, form); g_free(who); purple_notify_user_info_destroy(user_info); }
--- a/libpurple/protocols/jabber/iq.c Thu Jul 05 08:06:08 2007 +0000 +++ b/libpurple/protocols/jabber/iq.c Tue Jul 10 05:42:51 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);
--- a/libpurple/protocols/yahoo/Makefile.am Thu Jul 05 08:06:08 2007 +0000 +++ b/libpurple/protocols/yahoo/Makefile.am Tue Jul 10 05:42:51 2007 +0000 @@ -9,6 +9,8 @@ yahoo.h \ yahoochat.h \ yahoochat.c \ + yahoo_aliases.c \ + yahoo_aliases.h \ yahoo_auth.c \ yahoo_auth.h \ yahoo_crypt.h \
--- a/libpurple/win32/win32dep.c Thu Jul 05 08:06:08 2007 +0000 +++ b/libpurple/win32/win32dep.c Tue Jul 10 05:42:51 2007 +0000 @@ -43,8 +43,6 @@ /* * DEFINES & MACROS */ -#define _(x) gettext(x) - #define WIN32_PROXY_REGKEY "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings" /* For shfolder.dll */
--- a/pidgin/gtkconv.c Thu Jul 05 08:06:08 2007 +0000 +++ b/pidgin/gtkconv.c Tue Jul 10 05:42:51 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(); @@ -4857,8 +4854,14 @@ gtkconv->convs = g_list_remove(gtkconv->convs, conv); /* Don't destroy ourselves until all our convos are gone */ - if (gtkconv->convs) + if (gtkconv->convs) { + /* Make sure the destroyed conversation is not the active one */ + if (gtkconv->active_conv == conv) { + gtkconv->active_conv = gtkconv->convs->data; + purple_conversation_update(gtkconv->active_conv, PURPLE_CONV_UPDATE_FEATURES); + } return; + } pidgin_conv_window_remove_gtkconv(gtkconv->win, gtkconv); @@ -7737,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; @@ -8327,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;
--- a/pidgin/gtkimhtml.c Thu Jul 05 08:06:08 2007 +0000 +++ b/pidgin/gtkimhtml.c Tue Jul 10 05:42:51 2007 +0000 @@ -28,8 +28,8 @@ #include <config.h> #endif +#include "internal.h" #include "pidgin.h" -#include "internal.h" #include "debug.h" #include "util.h" @@ -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, "<!--StartFragment-->\r\n"); g_string_append(clipboard, html); g_string_append(clipboard, "\r\n<!--EndFragment-->"); @@ -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);
--- a/pidgin/gtkmain.c Thu Jul 05 08:06:08 2007 +0000 +++ b/pidgin/gtkmain.c Tue Jul 10 05:42:51 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
--- a/pidgin/gtkprefs.c Thu Jul 05 08:06:08 2007 +0000 +++ b/pidgin/gtkprefs.c Tue Jul 10 05:42:51 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)
--- a/pidgin/gtkutils.c Thu Jul 05 08:06:08 2007 +0000 +++ b/pidgin/gtkutils.c Tue Jul 10 05:42:51 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) {
--- a/pidgin/gtkutils.h Thu Jul 05 08:06:08 2007 +0000 +++ b/pidgin/gtkutils.h Tue Jul 10 05:42:51 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. */
--- a/pidgin/pixmaps/emblems/16/scalable/aol-client.svg Thu Jul 05 08:06:08 2007 +0000 +++ b/pidgin/pixmaps/emblems/16/scalable/aol-client.svg Tue Jul 10 05:42:51 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"> <defs @@ -39,9 +39,9 @@ inkscape:guide-bbox="true" inkscape:grid-points="true" inkscape:window-width="1268" - inkscape:window-height="971" + inkscape:window-height="841" inkscape:window-x="6" - inkscape:window-y="21" /> + inkscape:window-y="0" /> <metadata id="metadata1312"> <rdf:RDF> @@ -58,24 +58,8 @@ inkscape:label="Layer 1" inkscape:groupmode="layer"> <path - style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.00000024;stroke-miterlimit:4;stroke-opacity:1" - d="M 2,1 L 14,8 L 2,15 L 2,1 z " - id="path2258" - sodipodi:nodetypes="cccc" /> - <path style="fill:#204a87;fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:1.00000024;stroke-miterlimit:4;stroke-opacity:1" - d="M 2,1 L 14,8 L 2,15 L 2,1 z " - id="rect2229" - sodipodi:nodetypes="cccc" /> - <path - sodipodi:type="arc" - style="opacity:1;fill:#204a87;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.16577935;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path2227" - sodipodi:cx="6.9882684" - sodipodi:cy="8.1797953" - sodipodi:rx="3.6050591" - sodipodi:ry="3.4386716" - d="M 10.593328 8.1797953 A 3.6050591 3.4386716 0 1 1 3.3832092,8.1797953 A 3.6050591 3.4386716 0 1 1 10.593328 8.1797953 z" - transform="matrix(0.951853,0,0,0.997732,-0.651436,-0.160895)" /> + 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" /> </g> </svg>
--- a/pidgin/pixmaps/emblems/16/scalable/blocked.svg Thu Jul 05 08:06:08 2007 +0000 +++ b/pidgin/pixmaps/emblems/16/scalable/blocked.svg Tue Jul 10 05:42:51 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"> <defs - id="defs4"> + id="defs4222"> <linearGradient inkscape:collect="always" - id="linearGradient3324"> + id="linearGradient2835"> <stop - style="stop-color:#ffffff;stop-opacity:1;" + style="stop-color:#c17d11;stop-opacity:1;" offset="0" - id="stop3326" /> + id="stop2837" /> <stop - style="stop-color:#ffffff;stop-opacity:0;" + style="stop-color:#c17d11;stop-opacity:0;" offset="1" - id="stop3328" /> + id="stop2839" /> + </linearGradient> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="9.6134882" + x2="11.766299" + y1="6.6344557" + x1="7.7082763" + id="linearGradient2774" + xlink:href="#linearGradient2768" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(0.669301,0,0,0.866653,-15.19698,-2.399762)" + gradientUnits="userSpaceOnUse" + y2="14.406374" + x2="15.520383" + y1="9.3585329" + x1="19.003813" + id="linearGradient2247" + xlink:href="#linearGradient2241" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="13.322957" + x2="16" + y1="24.34691" + x1="16" + id="linearGradient2209" + xlink:href="#linearGradient2203" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2203" + inkscape:collect="always"> + <stop + id="stop2205" + offset="0" + style="stop-color:#727e0a;stop-opacity:1;" /> + <stop + id="stop2207" + offset="1" + style="stop-color:#727e0a;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2241" + inkscape:collect="always"> + <stop + id="stop2243" + offset="0" + style="stop-color:#eeeeec;stop-opacity:1;" /> + <stop + id="stop2245" + offset="1" + style="stop-color:#eeeeec;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2768" + inkscape:collect="always"> + <stop + id="stop2770" + offset="0" + style="stop-color:#eeeeec;stop-opacity:1;" /> + <stop + id="stop2772" + offset="1" + style="stop-color:#eeeeec;stop-opacity:0;" /> </linearGradient> <linearGradient inkscape:collect="always" - id="linearGradient3300"> - <stop - style="stop-color:#eeeeec;stop-opacity:1;" - offset="0" - id="stop3302" /> - <stop - style="stop-color:#eeeeec;stop-opacity:0;" - offset="1" - id="stop3304" /> - </linearGradient> + 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" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2768" + id="linearGradient2818" + gradientUnits="userSpaceOnUse" + x1="7.7082763" + y1="6.6344557" + x2="11.766299" + y2="9.6134882" /> <linearGradient inkscape:collect="always" - xlink:href="#linearGradient3300" - id="linearGradient3306" - x1="8.6152382" - y1="-3.1597807" - x2="8.6152382" - y2="12.015507" + xlink:href="#linearGradient2768" + id="linearGradient2821" + gradientUnits="userSpaceOnUse" + x1="7.7082763" + y1="6.6344557" + x2="11.766299" + y2="9.6134882" + gradientTransform="translate(3,-5.662441e-7)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2241" + id="linearGradient2826" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.002185,0,0,0.866653,-24.02518,-2.399763)" + x1="19.003813" + y1="9.3585329" + x2="15.520383" + y2="14.406374" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2835" + id="linearGradient2841" + x1="4.3461514" + y1="4.7126884" + x2="5.041183" + y2="7.6020169" gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" - xlink:href="#linearGradient3324" - id="linearGradient3330" - x1="8" - y1="6.0639424" - x2="8" - y2="10.979301" - gradientUnits="userSpaceOnUse" /> + 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)" /> </defs> <sodipodi:namedview id="base" @@ -72,21 +163,23 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="39.000665" - inkscape:cx="13.905353" - inkscape:cy="8.018215" - inkscape:document-units="px" + inkscape:zoom="25.498579" + inkscape:cx="19.947241" + inkscape:cy="9.0174755" inkscape:current-layer="layer1" showgrid="true" - fill="#a40000" + inkscape:grid-bbox="true" + inkscape:document-units="px" + inkscape:object-points="false" + inkscape:grid-points="true" + inkscape:window-width="1440" + inkscape:window-height="849" + inkscape:window-x="0" + inkscape:window-y="0" showguides="true" - inkscape:guide-bbox="true" - inkscape:window-width="1268" - inkscape:window-height="971" - inkscape:window-x="6" - inkscape:window-y="21" /> + inkscape:guide-bbox="true" /> <metadata - id="metadata7"> + id="metadata4225"> <rdf:RDF> <cc:Work rdf:about=""> @@ -97,21 +190,61 @@ </rdf:RDF> </metadata> <g + id="layer1" inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1"> - <path - style="fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:1.00000036;stroke-miterlimit:4;stroke-opacity:1" - d="M 1.53125,3.5 L 5.875,7.96875 L 1.5,12.5 L 5.75,12.5 L 8,10.1875 L 10.25,12.5 L 14.5,12.5 L 10.125,7.96875 L 14.46875,3.5 L 10.21875,3.5 L 8,5.78125 L 5.78125,3.5 L 1.53125,3.5 z " - id="rect3316" /> + inkscape:groupmode="layer"> + <rect + style="fill:#c17d11;fill-opacity:1;stroke:#8f5902;stroke-width:0.99999875;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect1324" + width="11.000001" + height="14.999996" + x="-13.5" + y="0.49999937" + ry="0" + transform="scale(-1,1)" /> + <rect + style="opacity:0.3;fill:url(#linearGradient2826);fill-opacity:1;stroke:white;stroke-width:0.99999827;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2211" + width="9.0000048" + height="12.999996" + x="-12.500007" + y="1.4999992" + ry="0" + transform="scale(-1,1)" /> <path - sodipodi:type="inkscape:offset" - inkscape:radius="-0.99889296" - inkscape:original="M 1.53125 3.5 L 5.875 7.96875 L 1.5 12.5 L 5.75 12.5 L 8 10.1875 L 10.25 12.5 L 14.5 12.5 L 10.125 7.96875 L 14.46875 3.5 L 10.21875 3.5 L 8 5.78125 L 5.78125 3.5 L 1.53125 3.5 z " - xlink:href="#rect3316" - style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3330);stroke-width:1.00000036;stroke-miterlimit:4;stroke-opacity:1;opacity:0.25" - id="path3322" - inkscape:href="#rect3316" - d="M 3.875,4.5 L 6.59375,7.28125 C 6.9593447,7.6666782 6.9593447,8.2708218 6.59375,8.65625 L 3.84375,11.5 L 5.34375,11.5 L 7.28125,9.5 C 7.4695089,9.3049765 7.7289362,9.1948264 8,9.1948264 C 8.2710638,9.1948264 8.5304911,9.3049765 8.71875,9.5 L 10.65625,11.5 L 12.15625,11.5 L 9.40625,8.65625 C 9.0406553,8.2708218 9.0406553,7.6666782 9.40625,7.28125 L 12.125,4.5 L 10.625,4.5 L 8.71875,6.46875 C 8.5304911,6.6637735 8.2710638,6.7739236 8,6.7739236 C 7.7289362,6.7739236 7.4695089,6.6637735 7.28125,6.46875 L 5.375,4.5 L 3.875,4.5 z " /> + 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)" /> + <rect + style="opacity:1;fill:#ce9f52;fill-opacity:1;stroke:#8f5902;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2878" + width="15.000005" + height="2.0000005" + x="0.49999997" + y="9.5" /> + <rect + style="opacity:1;fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999934;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2880" + width="2.0000017" + height="3.9999959" + x="1.5" + y="8.500001" + rx="0.90201104" + ry="0.90201104" /> + <rect + style="opacity:1;fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999934;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2884" + width="2.0000017" + height="3.9999959" + x="12.499999" + y="8.500001" + rx="0.90201104" + ry="0.90201104" /> </g> </svg>
--- a/pidgin/pixmaps/emotes/default/22/scalable/smile-big.svg Thu Jul 05 08:06:08 2007 +0000 +++ b/pidgin/pixmaps/emotes/default/22/scalable/smile-big.svg Tue Jul 10 05:42:51 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"> <defs id="defs4"> <linearGradient inkscape:collect="always" + id="linearGradient2796"> + <stop + style="stop-color:#babdb6;stop-opacity:1;" + offset="0" + id="stop2798" /> + <stop + style="stop-color:#babdb6;stop-opacity:0;" + offset="1" + id="stop2800" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2800"> + <stop + style="stop-color:#888a85;stop-opacity:1;" + offset="0" + id="stop2802" /> + <stop + style="stop-color:#888a85;stop-opacity:0;" + offset="1" + id="stop2804" /> + </linearGradient> + <linearGradient + inkscape:collect="always" id="linearGradient2192"> <stop style="stop-color:#cc0000;stop-opacity:1;" @@ -98,6 +122,34 @@ y1="15.102485" x2="12.13016" y2="19.816549" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2800" + id="linearGradient2806" + x1="1.9297547" + y1="17" + x2="8.9865818" + y2="17" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2800" + id="linearGradient2810" + gradientUnits="userSpaceOnUse" + x1="1.9297547" + y1="17" + x2="8.9865818" + y2="17" + gradientTransform="matrix(-1,0,0,1,24,0)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2796" + id="linearGradient2802" + x1="12.324349" + y1="15.841868" + x2="12.324349" + y2="19.467697" + gradientUnits="userSpaceOnUse" /> </defs> <sodipodi:namedview id="base" @@ -106,17 +158,18 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="18.194454" - inkscape:cx="14.880848" - inkscape:cy="9.4177196" + inkscape:zoom="25.730844" + inkscape:cx="20.572824" + inkscape:cy="10.331755" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" fill="#ef2929" - inkscape:window-width="1268" - inkscape:window-height="971" - inkscape:window-x="6" - inkscape:window-y="21" /> + inkscape:window-width="1434" + inkscape:window-height="841" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:grid-points="true" /> <metadata id="metadata7"> <rdf:RDF> @@ -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)" /> <path - style="opacity:1;fill:#cc0000;fill-opacity:1;stroke:#a40000;stroke-width:1.00000024;stroke-miterlimit:4;stroke-opacity:1" - d="M 17.502944,13.527087 C 17.502944,15.892107 15.140024,17.503252 12.067027,17.503252 C 8.9940272,17.503252 6.5000001,15.891125 6.5000001,13.496751 C 8.8954736,13.496751 14.896167,13.527087 17.502944,13.527087 z " - id="path3160" - sodipodi:nodetypes="cscc" /> - <path - style="fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M 7.0137405,14 L 17,14 L 16.615267,15 L 7.4479109,15 L 7.0137405,14 z " - id="rect1324" - sodipodi:nodetypes="ccccc" /> - <path sodipodi:type="arc" - style="opacity:0.5;fill:none;fill-opacity:1.0;stroke:#ffffff;stroke-width:1.17343897;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + style="opacity:0.5;fill:none;fill-opacity:1;stroke:white;stroke-width:1.17343903;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path2184" sodipodi:cx="11.806158" sodipodi:cy="10.983024" sodipodi:rx="9.975256" sodipodi:ry="9.975256" 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.852176,0,0,0.852216,1.93909,2.639626)" /> + transform="matrix(0.852176,0,0,0.852216,1.939749,2.639019)" /> <path sodipodi:type="arc" style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" @@ -203,9 +246,29 @@ d="M 10.227795 8.7845774 A 1.1679889 1.4520943 0 1 1 7.891817,8.7845774 A 1.1679889 1.4520943 0 1 1 10.227795 8.7845774 z" transform="matrix(0.856173,0,0,1.377321,6.243238,-2.099183)" /> <path - style="fill:#ef2929;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M 8.4015265,16 L 15.615267,16 C 15.615267,16 14.704206,16.587786 14.250771,16.656489 C 14.250771,16.656489 13.614227,17 12.116518,17 C 10.756145,17.002082 9.2677613,16.532825 9.2677613,16.532825 L 8.4015265,16 z " - id="path2207" - sodipodi:nodetypes="cccccc" /> + 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" /> + <rect + style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2792" + width="0.053828847" + height="0.038863864" + x="-6" + y="16.577002" /> + <path + style="opacity:1;fill:url(#linearGradient2806);fill-opacity:1.0;stroke:none;stroke-width:0.99999964;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 5,14 C 5.5206683,17.394223 8.4507141,20 12,20 C 15.549286,20 18.479329,17.394223 19,14 L 5,14 z " + id="path2798" /> + <path + style="opacity:1;fill:url(#linearGradient2810);fill-opacity:1;stroke:none;stroke-width:0.99999964;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 19,14 C 18.479332,17.394223 15.549286,20 12,20 C 8.450714,20 5.520671,17.394223 5,14 L 19,14 z " + id="path2808" /> + <path + style="opacity:0.8;fill:url(#linearGradient2802);fill-opacity:1.0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" + d="M 7,14 L 7,18 L 8,18 L 8,14 L 7,14 z M 10,14 L 10,19 L 11,19 L 11,14 L 10,14 z M 13,14 L 13,19 L 14,19 L 14,14 L 13,14 z M 16,14 L 16,18 L 17,18 L 17,14 L 16,14 z " + id="path1900" + sodipodi:nodetypes="cccccccccccccccccccc" /> </g> </svg>
--- a/pidgin/pixmaps/icons/16/scalable/pidgin.svg Thu Jul 05 08:06:08 2007 +0000 +++ b/pidgin/pixmaps/icons/16/scalable/pidgin.svg Tue Jul 10 05:42:51 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)" /> <path style="opacity:1;fill:#a46bb0;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" d="M 11.387086,4.6790601 C 10.509745,3.6558267 9.0824486,3.9284339 8.5222543,4.5817815 C 7.7545814,5.4771092 7.8435868,7.0342022 8.7209273,8.0574357 C 9.4833498,8.9466415 10.737398,9.413013 11.505071,8.5176851 C 12.272744,7.6223568 12.080215,5.4874505 11.387086,4.6790601 z " @@ -764,7 +764,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.208633,0,0,1.158626,-2.791363,-20.66909)" /> + transform="matrix(0.805754,0,0,1.158626,0.805772,-20.66909)" /> <path style="fill:#3b1941;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" d="M -3.174544e-16,1.7837407 C 0.49897694,0.43045085 3.4176637,1.3941391 4.4321866,1.7478251 L 2.7448964,2 L -3.174544e-16,1.7837407 z "
--- a/pidgin/pixmaps/icons/24/scalable/pidgin.svg Thu Jul 05 08:06:08 2007 +0000 +++ b/pidgin/pixmaps/icons/24/scalable/pidgin.svg Tue Jul 10 05:42:51 2007 +0000 @@ -14,7 +14,7 @@ id="svg4345" sodipodi:version="0.32" inkscape:version="0.44.1" - sodipodi:docbase="/home/hbons/Desktop/2.0.2/pidgin/pixmaps/icons/24/scalable" + sodipodi:docbase="/home/hbons/Desktop/Pidgin/2.1.0/icons/24/scalable" sodipodi:docname="pidgin.svg" inkscape:export-filename="/home/hbons/Desktop/pidgin24.png" inkscape:export-xdpi="90" @@ -182,10 +182,11 @@ xlink:href="#linearGradient6506" id="linearGradient6512" x1="15.645709" - y1="40.434063" + y1="39.029884" x2="15.645709" - y2="43.693668" - gradientUnits="userSpaceOnUse" /> + y2="43.206608" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.660903,0,0,0.627207,-0.293224,-4.361383)" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient6817" @@ -419,35 +420,47 @@ y1="16.618088" x2="27.598003" y2="36.64465" - gradientUnits="userSpaceOnUse" /> + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.660903,0,0,0.627207,-0.293224,-4.361383)" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient3116" id="linearGradient3122" x1="15.722902" - y1="39.585075" + y1="38.768803" x2="15.722902" - y2="45.76453" - gradientUnits="userSpaceOnUse" /> + y2="43.249905" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.67692,0,0,0.646801,-0.560381,-4.949693)" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient3124" id="linearGradient3130" x1="13.150809" - y1="39.39394" + y1="38.849556" x2="13.150809" - y2="45.551888" - gradientUnits="userSpaceOnUse" /> + y2="43.105652" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.67692,0,0,0.646801,-0.560381,-4.949693)" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient2850" id="linearGradient3146" gradientUnits="userSpaceOnUse" - gradientTransform="matrix(0.769231,0,0,0.714287,-3.230767,-7.285729)" + gradientTransform="matrix(0.769231,0,0,0.714287,-2.265038,-6.285729)" x1="21.785719" y1="28.142857" x2="17.785713" y2="30.07143" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5438" + id="linearGradient2848" + gradientUnits="userSpaceOnUse" + x1="30.152058" + y1="-0.86487341" + x2="30.152058" + y2="23.011967" /> </defs> <sodipodi:namedview id="base" @@ -456,15 +469,15 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="16.081777" - inkscape:cx="21.855503" - inkscape:cy="14.873812" + inkscape:zoom="32.163554" + inkscape:cx="16.820721" + inkscape:cy="19.317678" inkscape:current-layer="layer1" showgrid="true" inkscape:grid-bbox="true" inkscape:document-units="px" - inkscape:window-width="1434" - inkscape:window-height="840" + inkscape:window-width="1440" + inkscape:window-height="846" inkscape:window-x="0" inkscape:window-y="0" showguides="true" @@ -489,46 +502,28 @@ inkscape:label="Layer 1" inkscape:groupmode="layer"> <path - style="fill:#efefef;fill-opacity:1;stroke:#787878;stroke-width:2.68207097;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 17.892492,1.5 C 14.553935,1.5 11.861242,4.611235 11.861242,8.46875 L 11.861242,20.53125 C 11.861242,24.388765 14.790157,28.553306 18.128714,28.553306 L 33.206307,28.454853 L 33.212431,35.359517 L 40.550287,28.59293 C 46.237519,28.59293 46.5,25.478162 46.5,20.728157 L 46.5,8.46875 C 46.5,4.6112353 43.807307,1.5 40.46875,1.5 L 17.892492,1.5 z " - id="path4547" - sodipodi:nodetypes="ccccccccccc" - transform="matrix(0.375302,0,0,0.370406,6.048447,-5.560909e-2)" /> - <path - sodipodi:type="inkscape:offset" - inkscape:radius="-2.6972473" - inkscape:original="M 17.90625 1.5 C 14.567693 1.5 11.875 4.611235 11.875 8.46875 L 11.875 20.53125 C 11.875 24.388765 14.786443 28.5625 18.125 28.5625 L 33.21875 28.46875 L 33.21875 35.375 L 40.5625 28.59375 C 46.249734 28.59375 46.5 25.468755 46.5 20.71875 L 46.5 8.46875 C 46.5 4.6112353 43.807307 1.5 40.46875 1.5 L 17.90625 1.5 z " - style="fill:url(#linearGradient5444);fill-opacity:1.0;stroke:white;stroke-width:2.68207097;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path5436" - d="M 17.90625,4.1875 C 16.243421,4.1875 14.5625,5.8664228 14.5625,8.46875 L 14.5625,20.53125 C 14.5625,21.781429 15.113741,23.319209 15.90625,24.375 C 16.698759,25.430791 17.57972,25.875 18.125,25.875 L 33.1875,25.78125 C 33.904865,25.775598 34.594934,26.055928 35.105127,26.560257 C 35.61532,27.064586 35.903608,27.751368 35.90625,28.46875 L 35.90625,29.21875 L 38.71875,26.625 C 39.22009,26.160499 39.879056,25.903614 40.5625,25.90625 C 42.912093,25.90625 43.047945,25.595299 43.3125,25.125 C 43.577055,24.654701 43.8125,23.046382 43.8125,20.71875 L 43.8125,8.46875 C 43.8125,5.8664232 42.131579,4.1875 40.46875,4.1875 L 17.90625,4.1875 z " - transform="matrix(0.375302,0,0,0.370406,6.048447,-5.560909e-2)" /> - <path style="opacity:1;fill:#75507b;fill-opacity:1" - d="M 36.0625,8 C 33.978257,8 33.334928,10.523086 34.78125,12.9375 C 35.250389,13.720651 36.674297,15.15311 36.86722,15.15311 L 36.878267,14.508325 C 36.288194,13.580567 35.517363,12.502064 35.686987,12.281543 C 37.835781,12.281543 38,11.491782 38,10.027674 C 38,8.7542399 37.228501,8 36.0625,8 z " + d="M 11.578108,7.0000021 C 7.9352949,7.0000021 6.8108928,10.527259 9.3387556,13.902593 C 10.158711,14.997432 12.647399,17 12.984587,17 L 13.003895,16.098595 C 11.972573,14.801596 10.625325,13.293856 10.921791,12.985569 C 14.677426,12.985569 14.964445,11.881489 14.964445,9.8346762 C 14.964445,8.0544242 13.616029,7.0000021 11.578108,7.0000021 z " id="path6521" - transform="matrix(1.747787,0,0,1.397993,-52.41719,-5.183942)" sodipodi:nodetypes="csccccc" /> <path - style="opacity:1;fill:url(#linearGradient3122);fill-opacity:1.0;stroke:url(#linearGradient3130);stroke-width:1.51128328;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 15,13 C 8.3759979,13 3,18.600001 3,25.5 C 3,31.153143 2.9750563,38.402618 2.9750563,45.572826 C 4.1625449,45.572826 27.946366,45.600605 30.637365,45.600605 C 32.751492,45.600605 32.586331,43.541005 32.586331,43.541005 C 32.586331,40.875594 27.597902,38.639057 25.813453,36.682531 C 23.985035,34.68151 26,30.5 26,30.5 C 26.641306,28.9702 27,27.275084 27,25.5 C 27,18.600001 21.624002,13 15,13 z " + style="opacity:1;fill:url(#linearGradient3122);fill-opacity:1;stroke:url(#linearGradient3130);stroke-width:0.99999976;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 9.593419,3.4587201 C 5.1094995,3.4587201 1.470379,7.0808064 1.470379,11.543733 C 1.470379,15.200191 1.4534941,19.889159 1.4534941,24.526857 C 2.2573289,24.526857 18.357073,24.544824 20.178665,24.544824 C 21.609759,24.544824 21.497959,23.212673 21.497959,23.212673 C 21.497959,21.488682 18.121191,20.042088 16.913262,18.776605 C 15.675569,17.482342 17.039539,14.777738 17.039539,14.777738 C 17.473652,13.788261 17.716459,12.691859 17.716459,11.543733 C 17.716459,7.0808064 14.077339,3.4587201 9.593419,3.4587201 z " id="path5176" - sodipodi:nodetypes="ccccszcsc" - transform="matrix(0.67692,0,0,0.646801,-1.52611,-5.949693)" /> + sodipodi:nodetypes="ccccszcsc" /> <path - transform="matrix(0.660903,0,0,0.627207,-1.258953,-5.361383)" - style="opacity:0.5;fill:url(#linearGradient3114);fill-opacity:1.0;stroke:url(#linearGradient6512);stroke-width:1.55319395;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" - d="M 15,14.0625 C 8.9877035,14.0625 4.0789961,19.13808 4.0625,25.46875 C 4.0624722,25.479427 4.0617033,25.489349 4.0625,25.5 C 4.0625,32.787473 3.9033639,38.26012 3.9033639,44.499878 C 5.8399452,44.499878 22.452275,44.470084 28.278248,44.470084 C 29.445455,44.470084 31.431654,44.974157 31.431654,43.509594 C 31.431654,43.287851 31.231903,42.870917 30.681654,42.353344 C 30.131405,41.835771 29.308414,41.280003 28.400404,40.728344 C 26.665321,39.858723 25.411769,39.090553 24.621247,37.290844 C 24.011242,36.47675 23.731303,35.519763 23.676839,34.478344 C 23.622375,33.436925 24.107721,32.319635 24.224561,31.259594 C 24.458241,29.139511 24.96875,30.28125 24.96875,30.28125 C 24.98374,30.216952 25.004663,30.154183 25.03125,30.09375 C 25.618731,28.692346 25.9375,27.131297 25.9375,25.5 C 25.9375,19.154404 21.022436,14.0625 15,14.0625 z " + style="opacity:0.5;fill:url(#linearGradient3114);fill-opacity:1;stroke:url(#linearGradient6512);stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 9.620321,4.4587156 C 5.6467762,4.4587156 2.4025968,7.6421549 2.3916944,11.612795 C 2.3916761,11.619492 2.3911679,11.625715 2.3916944,11.632396 C 2.3916944,16.20315 2.2865209,19.635632 2.2865209,23.549252 C 3.5664133,23.549252 14.545552,23.530565 18.395955,23.530565 C 19.167366,23.530565 20.480051,23.846723 20.480051,22.928139 C 20.480051,22.78906 20.348035,22.527556 19.984374,22.202931 C 19.620712,21.878306 19.076795,21.529724 18.476689,21.18372 C 17.329967,20.638287 16.501491,20.156486 15.979032,19.027696 C 15.575878,18.51709 15.390866,17.916861 15.35487,17.263676 C 15.318875,16.610491 15.639642,15.909718 15.716861,15.244853 C 15.871301,13.915122 16.208698,14.631229 16.208698,14.631229 C 16.218605,14.590901 16.232433,14.551532 16.250005,14.513628 C 16.638273,13.634657 16.848948,12.655557 16.848948,11.632396 C 16.848948,7.6523934 13.600567,4.4587156 9.620321,4.4587156 z " id="path5241" sodipodi:nodetypes="cscccssccsscssc" /> <path style="fill:#a46bb0;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M 3.072604,7.0864988 C 4.607952,5.4493238 7.105721,5.8854918 8.086061,6.9308478 C 9.4294869,8.3633698 9.273726,10.85472 7.738379,12.491894 C 6.404137,13.914624 4.209552,14.660821 2.866124,13.228299 C 1.522696,11.795776 1.859625,8.3799248 3.072604,7.0864988 z " + d="M 4.038333,8.0864989 C 5.573681,6.4493239 8.07145,6.8854919 9.05179,7.9308479 C 10.395216,9.3633699 10.239455,11.85472 8.704108,13.491894 C 7.369866,14.914624 5.175281,15.660821 3.831853,14.228299 C 2.488425,12.795776 2.825354,9.3799249 4.038333,8.0864989 z " id="path3138" sodipodi:nodetypes="csssc" /> <path - transform="matrix(1.010846,0,0,1.029732,-5.552971,-15.17001)" style="opacity:1;fill:white;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M 13.257119,24.626053 C 13.257119,26.227351 11.8279,27.316574 10.863875,27.316574 C 9.5428049,27.316574 8.4706318,26.01697 8.4706318,24.415672 C 8.4706318,23.024119 9.2055946,21.514771 10.526665,21.514771 C 11.847736,21.514771 13.257119,23.360971 13.257119,24.626053 z " + d="M 8.8136637,11.188225 C 8.8136637,12.837133 7.3689434,13.95874 6.3944626,13.95874 C 5.0590642,13.95874 3.9752623,12.620497 3.9752623,10.971589 C 3.9752623,9.5386622 4.7181965,7.9844383 6.0535952,7.9844383 C 7.3889945,7.9844383 8.8136637,9.8855295 8.8136637,11.188225 z " id="path5157" sodipodi:nodetypes="csssc" /> <path @@ -540,36 +535,25 @@ 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.208633,0,0,1.158621,-6.791366,-17.66897)" /> + transform="matrix(1.208633,0,0,1.158621,-5.825637,-16.66897)" /> <path - transform="matrix(0.670792,0,0,0.486348,-3.805943,-3.90166)" style="fill:#3b1941;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M 11.651119,11.193815 C 13.577759,8.2509126 16.249277,11.481501 17.614226,12.804399 L 14.761306,13.747613 L 11.651119,11.193815 z " + d="M 4.9752634,2.5424297 C 6.2676381,1.111155 8.059671,2.6823452 8.9752679,3.325734 L 7.061552,3.7844642 L 4.9752634,2.5424297 z " id="path5192" sodipodi:nodetypes="cccc" /> <path - transform="matrix(0.851014,0,0,0.554879,-3.938174,-5.194599)" style="fill:#3b1941;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M 11.689238,9.8218679 C 13.591296,8.0161941 17.174576,11.994261 17.519594,13.650486 L 14.543472,12.891665 L 11.689238,9.8218679 z " + d="M 6.9752602,1.2553494 C 8.5939382,0.25341885 11.64336,2.4607647 11.936975,3.3797691 L 9.4042533,2.9587153 L 6.9752602,1.2553494 z " id="rect5189" sodipodi:nodetypes="cccc" /> - <rect - style="opacity:0.23144106;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3034" - width="36.000004" - height="2.9999979" - x="-84.444725" - y="32.42485" - rx="2.0412357" - ry="1.4999989" /> <path style="fill:#975fa3;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M 16.371022,7.8148748 C 15.47069,6.586993 14.005993,6.9141191 13.43112,7.6981356 C 12.643332,8.7725276 12.734671,10.64104 13.635002,11.868921 C 14.417404,12.93597 15.704314,13.495617 16.492103,12.421225 C 17.279892,11.346833 17.082315,8.7849447 16.371022,7.8148748 z " + d="M 17.336751,8.8148749 C 16.436419,7.5869931 14.971722,7.9141192 14.396849,8.6981357 C 13.609061,9.7725277 13.7004,11.64104 14.600731,12.868921 C 15.383133,13.93597 16.670043,14.495617 17.457832,13.421225 C 18.245621,12.346833 18.048044,9.7849448 17.336751,8.8148749 z " id="path3132" sodipodi:nodetypes="csssc" /> <path style="fill:white;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M 16.502957,8.5432477 C 15.827476,7.7246593 14.728576,7.9427464 14.297274,8.4654263 C 13.706229,9.1816906 13.774757,10.427368 14.450238,11.245957 C 15.037241,11.957323 16.002754,12.33042 16.593798,11.614156 C 17.184843,10.897891 17.03661,9.1899614 16.502957,8.5432477 z " + d="M 17.468686,9.5432478 C 16.793205,8.7246594 15.694305,8.9427465 15.263003,9.4654264 C 14.671958,10.181691 14.740486,11.427368 15.415967,12.245957 C 16.00297,12.957323 16.968483,13.33042 17.559527,12.614156 C 18.150572,11.897891 18.002339,10.189962 17.468686,9.5432478 z " id="path3134" sodipodi:nodetypes="csssc" /> <path @@ -581,24 +565,24 @@ 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.153827,0,0,1.158621,3.593156,-17.66895)" /> + transform="matrix(1.153827,0,0,1.158621,4.558885,-16.66895)" /> <rect style="fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="rect3140" width="4.4400907" height="1" - x="8.5358553" - y="13" + x="9.501585" + y="14" rx="0.69182354" ry="0.5" /> <path style="fill:#fcaf3e;fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1" - d="M 6,13.893438 C 11.088512,17.243015 10.655188,12 11.431469,12 C 12.197069,12 11.699301,17.201991 16,13.895644 C 15.267157,15.102946 13.014668,17 12.06507,17 C 11.104781,17 7.190872,15.676807 6,13.893438 z " + d="M 6.965729,14.893438 C 12.054241,18.243015 11.620917,13 12.397198,13 C 13.162798,13 12.66503,18.201991 16.965729,14.895644 C 16.232886,16.102946 13.980397,18 13.030799,18 C 12.07051,18 8.156601,16.676807 6.965729,14.893438 z " id="path3142" sodipodi:nodetypes="czczc" /> <path style="fill:url(#linearGradient3146);fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1" - d="M 6,13.893439 C 10.740404,18.171305 10.655188,12 11.431469,12 C 12.197069,12 11.641283,17.027939 16,13.895646 C 15.267157,15.102947 13.014668,17 12.06507,17 C 11.104781,17 7.190873,15.676809 6,13.893439 z " + d="M 6.965729,14.893439 C 11.706133,19.171305 11.620917,13 12.397198,13 C 13.162798,13 12.607012,18.027939 16.965729,14.895646 C 16.232886,16.102947 13.980397,18 13.030799,18 C 12.07051,18 8.156602,16.676809 6.965729,14.893439 z " id="path3144" sodipodi:nodetypes="czczc" /> </g>
--- a/pidgin/plugins/perl/common/Makefile.mingw Thu Jul 05 08:06:08 2007 +0000 +++ b/pidgin/plugins/perl/common/Makefile.mingw Tue Jul 10 05:42:51 2007 +0000 @@ -18,6 +18,7 @@ INCLUDE_PATHS = -I. \ -I$(PIDGIN_TREE_TOP) \ -I$(PURPLE_TOP) \ + -I$(PURPLE_TOP)/win32 \ -I$(PIDGIN_TOP) \ -I$(PIDGIN_TOP)/win32 \ -I$(GTK_TOP)/include \
--- a/pidgin/plugins/win32/transparency/win2ktrans.c Thu Jul 05 08:06:08 2007 +0000 +++ b/pidgin/plugins/win32/transparency/win2ktrans.c Tue Jul 10 05:42:51 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),
--- a/pidgin/win32/gtkwin32dep.c Thu Jul 05 08:06:08 2007 +0000 +++ b/pidgin/win32/gtkwin32dep.c Tue Jul 10 05:42:51 2007 +0000 @@ -36,6 +36,8 @@ #include <gtk/gtk.h> #include <gdk/gdkwin32.h> +#include "internal.h" + #include "debug.h" #include "notify.h"
--- a/pidgin/win32/gtkwin32dep.h Thu Jul 05 08:06:08 2007 +0000 +++ b/pidgin/win32/gtkwin32dep.h Tue Jul 10 05:42:51 2007 +0000 @@ -45,5 +45,5 @@ void winpidgin_post_init(void); void winpidgin_cleanup(void); -#endif /* _WIN32DEP_H_ */ +#endif /* _GTKWIN32DEP_H_ */
--- a/pidgin/win32/nsis/pidgin-installer.nsi Thu Jul 05 08:06:08 2007 +0000 +++ b/pidgin/win32/nsis/pidgin-installer.nsi Tue Jul 10 05:42:51 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