Thu, 21 Jun 2007 20:37:57 +0000
propagate from branch 'im.pidgin.pidgin' (head 1b2a6ef120661e9253743c44546887c5d980aa21)
to branch 'im.pidgin.soc.2007.finchfeat' (head 6d43436a7721c194ca92ac0a5841356e5dff769c)
| finch/gntprefs.c | file | annotate | diff | comparison | revisions | |
| finch/gntrequest.c | file | annotate | diff | comparison | revisions | |
| finch/gntui.c | file | annotate | diff | comparison | revisions | |
| finch/libgnt/gntmain.c | file | annotate | diff | comparison | revisions | |
| finch/libgnt/gntstyle.c | file | annotate | diff | comparison | revisions | |
| finch/libgnt/gnttree.c | file | annotate | diff | comparison | revisions | |
| finch/libgnt/gntwm.c | file | annotate | diff | comparison | revisions | |
| libpurple/protocols/qq/group_misc.c | file | annotate | diff | comparison | revisions | |
| libpurple/protocols/qq/group_misc.h | file | annotate | diff | comparison | revisions |
--- a/ChangeLog Tue Jun 19 19:40:06 2007 +0000 +++ b/ChangeLog Thu Jun 21 20:37:57 2007 +0000 @@ -18,10 +18,17 @@ second time will raise the buddy list. (Gabriel Schulhof) * Undo capability in the conversation window -version 2.0.2 (??/??/????): +version 2.0.2 (06/14/2007): Pidgin: * Added a custom conversation font option to preferences * Fixed smiley ordering in the insert smiley popup to be more intuitive + * Conversation->More menu items work for Chats as well as Buddies, + including those not on your buddy list + * newline plugin should work better with conversation colors plugin now + * Get Info on users now provides immediate feedback that something is + happening + * Aliasing a buddy will not be interrupted by other buddy list activity + * Using the -l option to log in to a specific account works better libpurple: * Moving an ICQ buddy from one group to another no longer @@ -32,6 +39,11 @@ * Fix MSN to correctly detect incorrect passwords and disable the account * Get User Info on MSN is now more reliable & accurate * Updated SILC protocol to support SILC Toolkit 1.1 (Pekka Riikonen) + * Fix for some QQ authentication problems + * Fix for building on FreeBSD + * Prevent "Logged in:" times for AIM buddies being ridiculously high + * Updates and fixes to Bonjour support + * Improve ICQ encoding support for some non-latin languages Finch: * Auto account reconnecting
--- a/ChangeLog.API Tue Jun 19 19:40:06 2007 +0000 +++ b/ChangeLog.API Thu Jun 21 20:37:57 2007 +0000 @@ -13,21 +13,13 @@ UIs can now use better scheduling for whole-second timers. For example, clients based on the glib event loop can now use g_timeout_add_seconds. - * gtk_imhtml_setup_entry - * pidgin_create_window * purple_blist_node_get_type * purple_conversation_do_command * purple_conversation_get_extended_menu * purple_core_ensure_single_instance This is for UIs to use to ensure only one copy is running. * purple_dbus_is_owner - * purple_dbusify_const_GList - * purple_dbusify_const_GSList - * purple_const_GList_to_array - * purple_const_GSList_to_array * purple_image_data_calculate_filename - * pidgin_retrieve_user_info, shows immediate feedback when getting - information about a user. * purple_timeout_add_seconds Callers should prefer this to purple_timeout_add for timers longer than 1 second away. Be aware of the rounding, though. @@ -35,11 +27,12 @@ Callers should prefer this to purple_timeout_add for timers longer than 1 second away. Be aware of the rounding, though. * purple_xfer_get_remote_user - * gtk_imhtml_animation_new - Can be used for inserting an animated image into an IMHTML. + * purple_pounces_get_all_for_ui Changed: - * Mark some return types const: + * The documentation of the following functions now properly + declares that the returned value must not be modified or + freed, which was always the case: * purple_accounts_get_all * purple_connections_get_all * purple_connections_get_connecting @@ -49,26 +42,57 @@ * purple_get_conversations * purple_get_ims * purple_notify_user_info_get_entries - - Deprecated: - * purple_dbusify_GList: Use purple_dbusify_const_GList (and - g_list_free if needed) if depending on 2.1.0 is okay. - * purple_dbusify_GSList: Use purple_dbusify_const_GSList (and - g_slist_free if needed) if depending on 2.1.0 is okay.. - * purple_GList_to_array: Use purple_const_GList_to_array (and - g_list_free if needed) if depending on 2.1.0 is okay.. - * purple_GSList_to_array: Use purple_const_GSList_to_array (and - g_slist_free if needed) if depending on 2.1.0 is okay.. + * The following functions now return a GList* instead of a + const GList*, as const is not very useful with GLists. The + returned value still must not be modified or freed: + * purple_account_get_status_types + * purple_mime_document_get_fields + * purple_mime_document_get_parts + * purple_mime_part_get_fields + * purple_request_fields_get_required + * purple_request_field_list_get_selected + * purple_request_field_list_get_items + * purple_status_type_get_attrs + * purple_presence_get_statuses + * purple_request_field_list_set_selected now takes a GList* + instead of a const GList* for items, as const is not very + useful with GLists. The passed list is still not modified + or freed. + * purple_presence_add_list now takes a GList* instead of a + const GList* for source_list, as const is not very useful with + GLists. The passed list is still not modified or freed. Pidgin: + Added: + * gtk_imhtml_setup_entry + * pidgin_create_window + * pidgin_retrieve_user_info and pidgin_retrieve_user_info_in_chat, + shows immediate feedback when getting information about a user. + * gtk_imhtml_animation_new + Can be used for inserting an animated image into an IMHTML. + * pidgin_menu_position_func_helper + * pidgin_blist_get_name_markup, returns the buddy list markup + text for a given buddy. + Changed: * pidgin_append_menu_action returns the menuitem added to the menu. * pidgin_separator returns the separator added to the menu. + * PidginConversation has struct members to handle the new info + pane: + * infopane + * infopane_hbox + * infopane_model + * infopane_iter Finch: Added: * finch_retrieve_user_info + Changed: + * gnt_tree_get_rows() now returns a GList* instead of a const + GList*, as const is not very useful with GLists. The + returned value still must not be modified or freed. + version 2.0.2 (6/14/2007): Pidgin: Deprecated:
--- a/ChangeLog.win32 Tue Jun 19 19:40:06 2007 +0000 +++ b/ChangeLog.win32 Thu Jun 21 20:37:57 2007 +0000 @@ -1,4 +1,4 @@ -version 2.0.2 (??/??/????): +version 2.0.2 (6/14/2007): * Add Bonjour protocol support thanks to Chris Davies. This requires Apple Bonjour for Windows from: http://www.apple.com/support/downloads/bonjourforwindows.html
--- a/NEWS Tue Jun 19 19:40:06 2007 +0000 +++ b/NEWS Thu Jun 21 20:37:57 2007 +0000 @@ -1,5 +1,18 @@ Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul +2.0.2 (6/14/2007): + Sean: Another big maintenance release. Again, about 100 tickets were + resolved in this release, and they keep coming in. Lots of bug fixes, + some minor icon adjustements, hopefully we addressed some ICQ + internationalization issues, and support for Bonjour on Windows! + Our next release will be 2.1.0, and will come with some great new + features. + + Stu: I think we're gradually getting the hang of this 3 week thing + again. This release includes yet more bug fixes. I'd also like to + specifically thank Pekka Riikonen for the patch to enable using SILC + Toolkit 1.1 with Pidgin/libpurple that is included in this release. + 2.0.1 (5/24/2007): Sean: 2.0.1! Three weeks later, as scheduled! It is so nice to have regular, frequent, releases again! This is a bugfix release; We have
--- a/configure.ac Tue Jun 19 19:40:06 2007 +0000 +++ b/configure.ac Thu Jun 21 20:37:57 2007 +0000 @@ -52,10 +52,10 @@ [purple_major_version.purple_minor_version.purple_micro_version]) m4_define([purple_display_version], purple_version[]m4_ifdef([purple_version_suffix],[purple_version_suffix])) -m4_define([gnt_lt_current], [0]) -m4_define([gnt_major_version], [1]) +m4_define([gnt_lt_current], [1]) +m4_define([gnt_major_version], [2]) m4_define([gnt_minor_version], [0]) -m4_define([gnt_micro_version], [1]) +m4_define([gnt_micro_version], [0]) m4_define([gnt_version_suffix], [devel]) m4_define([gnt_version], [gnt_major_version.gnt_minor_version.gnt_micro_version]) @@ -142,7 +142,7 @@ dnl If we don't have msgfmt, then po/ is going to fail -- ensure that dnl AM_GLIB_GNU_GETTEXT found it. -if test x$MSGFMT = xno -o x$GMSGFMT = x +if test x$MSGFMT = xno then AC_ERROR([ @@ -2104,6 +2104,8 @@ pidgin/pixmaps/tray/16/scalable/Makefile pidgin/pixmaps/tray/22/Makefile pidgin/pixmaps/tray/22/scalable/Makefile + pidgin/pixmaps/tray/32/Makefile + pidgin/pixmaps/tray/48/Makefile pidgin/plugins/Makefile pidgin/plugins/cap/Makefile pidgin/plugins/gestures/Makefile
--- a/doc/gtkrc-2.0 Tue Jun 19 19:40:06 2007 +0000 +++ b/doc/gtkrc-2.0 Thu Jun 21 20:37:57 2007 +0000 @@ -39,16 +39,17 @@ } widget_class "*" style "my-style-name" -# This style sets the expander size on a treeview to 0, which has the result +# This sets the expander size on a treeview to 0, which has the result # of reducing the indent for items in the tree. This can be applied to the -# Pidgin buddy list to reduce it's width. -style "my-narrow-tree" -{ - GtkTreeView::expander_size = 0 -} - +# Pidgin buddy list to reduce the width of group and contact rows. +# With the recent (~2.0.0) buddy list changes this isn't particularly +# important anymore. +#style "my-narrow-tree" +#{ +# GtkTreeView::expander_size = 0 +#} # And apply the style to the buddy list: -widget "*pidgin_blist_treeview" style "my-narrow-tree" +#widget "*pidgin_blist_treeview" style "my-narrow-tree" # In Pidgin, you can set custom keybindings in your theme. # Here is an example to follow:
--- a/finch/finch.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/finch.c Thu Jun 21 20:37:57 2007 +0000 @@ -19,6 +19,8 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "finch.h" + #include "account.h" #include "conversation.h" #include "core.h" @@ -37,7 +39,6 @@ #include "whiteboard.h" #include "gntdebug.h" -#include "finch.h" #include "gntprefs.h" #include "gntui.h" #include "gntidle.h"
--- a/finch/gntaccount.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/gntaccount.c Thu Jun 21 20:37:57 2007 +0000 @@ -33,6 +33,8 @@ #include <gnttree.h> #include <gntwindow.h> +#include "finch.h" + #include <account.h> #include <accountopt.h> #include <connection.h> @@ -42,7 +44,6 @@ #include "gntaccount.h" #include "gntblist.h" -#include "finch.h" #include <string.h> @@ -641,7 +642,7 @@ void finch_accounts_show_all() { - const GList *iter; + GList *iter; GntWidget *box, *button; if (accounts.window) @@ -734,7 +735,7 @@ void finch_accounts_init() { - const GList *iter; + GList *iter; purple_signal_connect(purple_accounts_get_handle(), "account-added", finch_accounts_get_handle(), PURPLE_CALLBACK(account_added_callback), @@ -831,7 +832,7 @@ { PurpleConnection *gc = purple_account_get_connection(data->account); - if (g_list_find((GList *)purple_connections_get_all(), gc)) + if (g_list_find(purple_connections_get_all(), gc)) { purple_blist_request_add_buddy(data->account, data->username, NULL, data->alias);
--- a/finch/gntblist.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/gntblist.c Thu Jun 21 20:37:57 2007 +0000 @@ -22,6 +22,8 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "finch.h" + #include <account.h> #include <blist.h> #include <notify.h> @@ -33,7 +35,6 @@ #include <util.h> #include "debug.h" -#include "finch.h" #include "gntbox.h" #include "gntcombobox.h" #include "gntentry.h"
--- a/finch/gntconn.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/gntconn.c Thu Jun 21 20:37:57 2007 +0000 @@ -22,14 +22,15 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "finch.h" + #include "account.h" #include "core.h" -#include "connection.c" +#include "connection.h" #include "debug.h" #include "request.h" #include "gntconn.h" -#include "finch.h" #define INITIAL_RECON_DELAY_MIN 8000 #define INITIAL_RECON_DELAY_MAX 60000
--- a/finch/gntconv.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/gntconv.c Thu Jun 21 20:37:57 2007 +0000 @@ -24,12 +24,13 @@ */ #include <string.h> +#include "finch.h" + #include <cmds.h> #include <idle.h> #include <prefs.h> #include <util.h> -#include "finch.h" #include "gntaccount.h" #include "gntblist.h" #include "gntconv.h" @@ -440,6 +441,16 @@ } static void +gained_focus_cb(GntWindow *window, FinchConv *fc) +{ + GList *iter; + for (iter = fc->list; iter; iter = iter->next) { + purple_conversation_set_data(iter->data, "unseen-count", 0); + purple_conversation_update(iter->data, PURPLE_CONV_UPDATE_UNSEEN); + } +} + +static void finch_create_conversation(PurpleConversation *conv) { FinchConv *ggc = conv->ui_data; @@ -529,6 +540,7 @@ g_free(title); gnt_box_give_focus_to_child(GNT_BOX(ggc->window), ggc->entry); + g_signal_connect(G_OBJECT(ggc->window), "gained-focus", G_CALLBACK(gained_focus_cb), ggc); } static void @@ -622,6 +634,11 @@ if (flags & (PURPLE_MESSAGE_RECV | PURPLE_MESSAGE_NICK | PURPLE_MESSAGE_ERROR)) gnt_widget_set_urgent(ggconv->tv); + if (flags & PURPLE_MESSAGE_RECV && !gnt_widget_has_focus(ggconv->window)) { + int count = GPOINTER_TO_INT(purple_conversation_get_data(conv, "unseen-count")); + purple_conversation_set_data(conv, "unseen-count", GINT_TO_POINTER(count + 1)); + purple_conversation_update(conv, PURPLE_CONV_UPDATE_UNSEEN); + } } static void
--- a/finch/gntft.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/gntft.c Thu Jun 21 20:37:57 2007 +0000 @@ -86,7 +86,7 @@ static void update_title_progress() { - const GList *list; + GList *list; int num_active_xfers = 0; guint64 total_bytes_xferred = 0; guint64 total_file_size = 0; @@ -172,7 +172,7 @@ void finch_xfer_dialog_new(void) { - const GList *iter; + GList *iter; GntWidget *window; GntWidget *bbox; GntWidget *button; @@ -411,7 +411,7 @@ size_str = purple_str_size_to_units(purple_xfer_get_size(xfer)); remaining_str = purple_str_size_to_units(purple_xfer_get_bytes_remaining(xfer)); - kbsec = g_strdup_printf(_("%.2f KB/s"), kbps); + kbsec = g_strdup_printf(_("%.2f KiB/s"), kbps); gnt_tree_change_text(GNT_TREE(xfer_dialog->tree), xfer, COLUMN_PROGRESS, g_ascii_dtostr(prog_str, sizeof(prog_str), purple_xfer_get_progress(xfer) * 100.));
--- a/finch/gntnotify.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/gntnotify.c Thu Jun 21 20:37:57 2007 +0000 @@ -29,10 +29,11 @@ #include <gnttree.h> #include <gntutils.h> +#include "finch.h" + #include <util.h> #include "gntnotify.h" -#include "finch.h" static struct {
--- a/finch/gntplugin.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/gntplugin.c Thu Jun 21 20:37:57 2007 +0000 @@ -29,10 +29,11 @@ #include <gntline.h> #include <gnttree.h> +#include "finch.h" + #include "notify.h" #include "request.h" -#include "finch.h" #include "gntplugin.h" #include "gntrequest.h" @@ -106,6 +107,9 @@ char *text; GList *list = NULL, *iter = NULL; + if (!plugin) + return; + /* If the selected plugin was unseen before, mark it as seen. But save the list * only when the plugin list is closed. So if the user enables a plugin, and it * crashes, it won't get marked as seen so the user can fix the bug and still
--- a/finch/gntpounce.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/gntpounce.c Thu Jun 21 20:37:57 2007 +0000 @@ -137,12 +137,12 @@ static void populate_pounces_list(PouncesManager *dialog) { - const GList *pounces; + GList *pounces; gnt_tree_remove_all(GNT_TREE(dialog->tree)); - for (pounces = purple_pounces_get_all(); pounces != NULL; - pounces = g_list_next(pounces)) + for (pounces = purple_pounces_get_all_for_ui(FINCH_UI); pounces != NULL; + pounces = g_list_delete_link(pounces, pounces)) { add_pounce_to_treeview(GNT_TREE(dialog->tree), pounces->data); } @@ -288,7 +288,7 @@ GntWidget *hbox, *vbox; GntWidget *button; GntWidget *combo; - const GList *list; + GList *list; g_return_if_fail((cur_pounce != NULL) || (account != NULL) || @@ -303,7 +303,7 @@ dialog->pounce = NULL; dialog->account = account; } else { - const GList *connections = purple_connections_get_all(); + GList *connections = purple_connections_get_all(); PurpleConnection *gc; if (connections != NULL) {
--- a/finch/gntprefs.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/gntprefs.c Thu Jun 21 20:37:57 2007 +0000 @@ -22,10 +22,11 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "finch.h" + #include <prefs.h> #include <savedstatuses.h> -#include "finch.h" #include "gntprefs.h" #include "gntrequest.h" @@ -89,7 +90,7 @@ get_status_titles() { GList *list = NULL; - const GList *iter; + GList *iter; for (iter = purple_savedstatuses_get_all(); iter; iter = iter->next) { char *str; if (purple_savedstatus_is_transient(iter->data))
--- a/finch/gntrequest.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/gntrequest.c Thu Jun 21 20:37:57 2007 +0000 @@ -297,7 +297,7 @@ GList *list = NULL; if (purple_request_field_list_get_multi_select(field)) { - const GList *iter; + GList *iter; GntWidget *tree = field->ui_data; iter = purple_request_field_list_get_items(field); @@ -433,7 +433,7 @@ else if (type == PURPLE_REQUEST_FIELD_CHOICE) { int id; - const GList *list; + GList *list; GntWidget *combo = gnt_combo_box_new(); gnt_box_add_widget(GNT_BOX(hbox), combo); field->ui_data = combo; @@ -449,7 +449,7 @@ } else if (type == PURPLE_REQUEST_FIELD_LIST) { - const GList *list; + GList *list; gboolean multi = purple_request_field_list_get_multi_select(field); if (multi) { @@ -490,7 +490,7 @@ { gboolean all; PurpleAccount *def; - const GList *list; + GList *list; GntWidget *combo = gnt_combo_box_new(); gnt_box_set_alignment(GNT_BOX(hbox), GNT_ALIGN_MID); gnt_box_add_widget(GNT_BOX(hbox), combo);
--- a/finch/gntstatus.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/gntstatus.c Thu Jun 21 20:37:57 2007 +0000 @@ -31,10 +31,11 @@ #include <gntline.h> #include <gnttree.h> +#include "finch.h" + #include <notify.h> #include <request.h> -#include "finch.h" #include "gntstatus.h" static struct @@ -83,7 +84,7 @@ static void populate_statuses(GntTree *tree) { - const GList *list; + GList *list; for (list = purple_savedstatuses_get_all(); list; list = list->next) { @@ -244,7 +245,7 @@ static void set_substatuses(EditStatus *edit) { - const GList *iter; + GList *iter; for (iter = gnt_tree_get_rows(GNT_TREE(edit->tree)); iter; iter = iter->next) { RowInfo *key = iter->data; if (gnt_tree_get_choice(GNT_TREE(edit->tree), key)) { @@ -410,7 +411,7 @@ EditSubStatus *sub; GntWidget *window, *combo, *entry, *box, *button, *l; PurpleSavedStatusSub *substatus = NULL; - const GList *iter; + GList *iter; char *name; RowInfo *selected = gnt_tree_get_selection_data(tree); PurpleAccount *account = selected->account; @@ -497,7 +498,7 @@ GntWidget *window, *box, *button, *entry, *combo, *label, *tree; PurpleStatusPrimitive prims[] = {PURPLE_STATUS_AVAILABLE, PURPLE_STATUS_AWAY, PURPLE_STATUS_INVISIBLE, PURPLE_STATUS_OFFLINE, PURPLE_STATUS_UNSET}, current; - const GList *iter; + GList *iter; int i; if (saved)
--- a/finch/gntui.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/gntui.c Thu Jun 21 20:37:57 2007 +0000 @@ -19,6 +19,8 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "internal.h" + #include "gntui.h" #include "gntaccount.h" @@ -34,7 +36,6 @@ #include "gntrequest.h" #include "gntstatus.h" #include "gntsound.h" -#include "internal.h" #include <prefs.h>
--- a/finch/libgnt/Makefile.am Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/libgnt/Makefile.am Thu Jun 21 20:37:57 2007 +0000 @@ -1,6 +1,6 @@ EXTRA_DIST=genmarshal -SUBDIRS = . +SUBDIRS = . wms pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = gnt.pc
--- a/finch/libgnt/configure.ac Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/libgnt/configure.ac Thu Jun 21 20:37:57 2007 +0000 @@ -24,11 +24,11 @@ # Make sure to update ../../configure.ac with libgnt version changes. # -m4_define([gnt_lt_current], [0]) -m4_define([gnt_major_version], [1]) +m4_define([gnt_lt_current], [1]) +m4_define([gnt_major_version], [2]) m4_define([gnt_minor_version], [0]) m4_define([gnt_micro_version], [0]) -m4_define([gnt_version_suffix], [beta7]) +m4_define([gnt_version_suffix], [devel]) m4_define([gnt_version], [gnt_major_version.gnt_minor_version.gnt_micro_version]) m4_define([gnt_display_version], gnt_version[]m4_ifdef([gnt_version_suffix],[gnt_version_suffix]))
--- a/finch/libgnt/gntfilesel.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/libgnt/gntfilesel.c Thu Jun 21 20:37:57 2007 +0000 @@ -46,6 +46,7 @@ static GntWindowClass *parent_class = NULL; static guint signals[SIGS] = { 0 }; static void (*orig_map)(GntWidget *widget); +static void (*orig_size_request)(GntWidget *widget); static void gnt_file_sel_destroy(GntWidget *widget) @@ -552,6 +553,19 @@ } static void +gnt_file_sel_size_request(GntWidget *widget) +{ + GntFileSel *sel; + if (widget->priv.height > 0) + return; + + sel = GNT_FILE_SEL(widget); + sel->dirs->priv.height = 16; + sel->files->priv.height = 16; + orig_size_request(widget); +} + +static void gnt_file_sel_class_init(GntFileSelClass *klass) { GntBindableClass *bindable = GNT_BINDABLE_CLASS(klass); @@ -560,6 +574,8 @@ kl->destroy = gnt_file_sel_destroy; orig_map = kl->map; kl->map = gnt_file_sel_map; + orig_size_request = kl->size_request; + kl->size_request = gnt_file_sel_size_request; signals[SIG_FILE_SELECTED] = g_signal_new("file_selected",
--- a/finch/libgnt/gntmain.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/libgnt/gntmain.c Thu Jun 21 20:37:57 2007 +0000 @@ -435,10 +435,14 @@ setup_io(); +#ifdef NO_WIDECHAR + ascii_only = TRUE; +#else if (locale && (strstr(locale, "UTF") || strstr(locale, "utf"))) ascii_only = FALSE; else ascii_only = TRUE; +#endif initscr(); typeahead(-1);
--- a/finch/libgnt/gntstyle.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/libgnt/gntstyle.c Thu Jun 21 20:37:57 2007 +0000 @@ -139,8 +139,7 @@ if (!name) return; - ws = g_object_new(GNT_TYPE_WS, NULL); - gnt_ws_set_name(ws, name); + ws = gnt_ws_new(name); gnt_wm_add_workspace(wm, ws); g_free(name);
--- a/finch/libgnt/gnttree.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/libgnt/gnttree.c Thu Jun 21 20:37:57 2007 +0000 @@ -753,15 +753,16 @@ g_signal_emit(tree, signals[SIG_TOGGLED], 0, row->key); redraw_tree(tree); } + } else { + return FALSE; } if (old != tree->current) { tree_selection_changed(tree, old, tree->current); - return TRUE; } - return FALSE; + return TRUE; } static void @@ -1016,7 +1017,7 @@ return ret; } -const GList *gnt_tree_get_rows(GntTree *tree) +GList *gnt_tree_get_rows(GntTree *tree) { return tree->list; }
--- a/finch/libgnt/gnttree.h Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/libgnt/gnttree.h Thu Jun 21 20:37:57 2007 +0000 @@ -190,7 +190,13 @@ */ GList * gnt_tree_get_selection_text_list(GntTree *tree); -const GList *gnt_tree_get_rows(GntTree *tree); +/** + * + * @param tree + * + * @constreturn + */ +GList *gnt_tree_get_rows(GntTree *tree); /** *
--- a/finch/libgnt/gntwm.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/libgnt/gntwm.c Thu Jun 21 20:37:57 2007 +0000 @@ -338,8 +338,7 @@ wm->title_places = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); gnt_style_read_workspaces(wm); if (wm->workspaces == NULL) { - wm->cws = g_object_new(GNT_TYPE_WS, NULL); - gnt_ws_set_name(wm->cws, "default"); + wm->cws = gnt_ws_new("default"); gnt_wm_add_workspace(wm, wm->cws); } else { wm->cws = wm->workspaces->data; @@ -1005,12 +1004,11 @@ GntWM *wm = GNT_WM(bindable); endwin(); - refresh(); - curs_set(0); /* endwin resets the cursor to normal */ g_hash_table_foreach(wm->nodes, (GHFunc)refresh_node, NULL); update_screen(wm); gnt_ws_draw_taskbar(wm->cws, TRUE); + curs_set(0); /* endwin resets the cursor to normal */ return FALSE; } @@ -1104,6 +1102,16 @@ } static gboolean +workspace_new(GntBindable *bindable, GList *null) +{ + GntWM *wm = GNT_WM(bindable); + GntWS *ws = gnt_ws_new(NULL); + gnt_wm_add_workspace(wm, ws); + gnt_wm_switch_workspace(wm, g_list_index(wm->workspaces, ws)); + return TRUE; +} + +static gboolean ignore_keys_start(GntBindable *bindable, GList *n) { GntWM *wm = GNT_WM(bindable); @@ -1302,6 +1310,8 @@ "\033" GNT_KEY_CTRL_K, NULL); gnt_bindable_class_register_action(GNT_BINDABLE_CLASS(klass), "help-for-widget", help_for_widget, "\033" "/", NULL); + gnt_bindable_class_register_action(GNT_BINDABLE_CLASS(klass), "workspace-new", workspace_new, + GNT_KEY_F9, NULL); gnt_bindable_class_register_action(GNT_BINDABLE_CLASS(klass), "workspace-next", workspace_next, "\033" ">", NULL); gnt_bindable_class_register_action(GNT_BINDABLE_CLASS(klass), "workspace-prev", workspace_prev, @@ -1366,6 +1376,7 @@ return type; } + void gnt_wm_add_workspace(GntWM *wm, GntWS *ws) { @@ -1503,12 +1514,39 @@ return FALSE; } +#if !GLIB_CHECK_VERSION(2,4,0) +typedef struct +{ + GntWM *wm; + GntWS *ret; + gchar *title; +} title_search; + +static void match_title_search(gpointer key, gpointer value, gpointer search) +{ + title_search *s = search; + if (s->ret) + return; + if (match_title(key, NULL, s->title)) + s->ret = g_hash_table_lookup(s->wm->title_places, key); +} +#endif + static GntWS * new_widget_find_workspace(GntWM *wm, GntWidget *widget, gchar *wid_title) { GntWS *ret; const gchar *name; +#if GLIB_CHECK_VERSION(2,4,0) ret = g_hash_table_find(wm->title_places, match_title, wid_title); +#else + title_search *s = NULL; + s = g_new0(title_search, 1); + s->wm = wm; + s->title = wid_title; + g_hash_table_foreach(wm->title_places, match_title_search, s); + ret = s->ret; +#endif if (ret) return ret; name = gnt_widget_get_name(widget); @@ -1600,6 +1638,7 @@ gnt_wm_raise_window(wm, node->me); } else { bottom_panel(node->panel); /* New windows should not grab focus */ + gnt_widget_set_focus(node->me, FALSE); gnt_widget_set_urgent(node->me); if (wm->cws != ws) gnt_ws_widget_hide(widget, wm->nodes);
--- a/finch/libgnt/gntwm.h Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/libgnt/gntwm.h Thu Jun 21 20:37:57 2007 +0000 @@ -163,7 +163,7 @@ /* List of windows. Although the WM can keep a list of its own for the windows, * it'd be better if there was a way to share between the 'core' and the WM. */ - /*const GList *(*window_list)();*/ + /*GList *(*window_list)();*/ void (*res1)(void); void (*res2)(void);
--- a/finch/libgnt/gntws.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/libgnt/gntws.c Thu Jun 21 20:37:57 2007 +0000 @@ -154,6 +154,13 @@ return type; } +GntWS *gnt_ws_new(const char *name) +{ + GntWS *ws = GNT_WS(g_object_new(GNT_TYPE_WS, NULL)); + ws->name = g_strdup(name ? name : "(noname)"); + return ws; +} + const char * gnt_ws_get_name(GntWS *ws) { return ws->name;
--- a/finch/libgnt/gntws.h Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/libgnt/gntws.h Thu Jun 21 20:37:57 2007 +0000 @@ -45,6 +45,7 @@ GType gnt_ws_get_gtype(void); +GntWS *gnt_ws_new(const char *name); void gnt_ws_set_name(GntWS *, const gchar *); void gnt_ws_add_widget(GntWS *, GntWidget *); void gnt_ws_remove_widget(GntWS *, GntWidget *);
--- a/finch/libgnt/wms/irssi.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/libgnt/wms/irssi.c Thu Jun 21 20:37:57 2007 +0000 @@ -177,7 +177,8 @@ { char title[256]; snprintf(title, sizeof(title), "%d: %s", - (int)g_object_get_data(G_OBJECT(node->me), "irssi-index") + 1, GNT_BOX(node->me)->title); + GPOINTER_TO_INT(g_object_get_data(G_OBJECT(node->me), "irssi-index")) + 1, + GNT_BOX(node->me)->title); wbkgdset(node->window, '\0' | COLOR_PAIR(gnt_widget_has_focus(node->me) ? GNT_COLOR_TITLE : GNT_COLOR_TITLE_D)); mvwaddstr(node->window, 0, 0, title); update_panels(); @@ -192,7 +193,7 @@ const char *name = gnt_widget_get_name(win); if (!name || !GNT_IS_BOX(win) || strcmp(name, "conversation-window")) return; - g_object_set_data(G_OBJECT(win), "irssi-index", GINT_TO_POINTER(g_list_index(wm->list, win))); + g_object_set_data(G_OBJECT(win), "irssi-index", GINT_TO_POINTER(g_list_index(wm->cws->list, win))); g_timeout_add(0, (GSourceFunc)update_conv_window_title, node); } @@ -221,12 +222,12 @@ int x, y, w, h; GntWidget *win; - if (wm->ordered == NULL || is_budddylist(win = GNT_WIDGET(wm->ordered->data))) + if (wm->cws->ordered == NULL || is_budddylist(win = GNT_WIDGET(wm->cws->ordered->data))) return FALSE; find_window_position(irssi, win, &hor, &vert); - switch ((int)list->data) { + switch (GPOINTER_TO_INT(list->data)) { case 'k': vert = MAX(0, vert - 1); break;
--- a/finch/libgnt/wms/s.c Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/libgnt/wms/s.c Thu Jun 21 20:37:57 2007 +0000 @@ -1,6 +1,8 @@ #include <string.h> #include <sys/types.h> +#include "internal.h" + #include "gnt.h" #include "gntbox.h" #include "gntmenu.h" @@ -121,7 +123,7 @@ static GntWidget * find_widget(GntWM *wm, const char *wname) { - const GList *iter = wm->cws->list; + GList *iter = wm->cws->list; for (; iter; iter = iter->next) { GntWidget *widget = iter->data; const char *name = gnt_widget_get_name(widget);
--- a/finch/plugins/Makefile.am Tue Jun 19 19:40:06 2007 +0000 +++ b/finch/plugins/Makefile.am Thu Jun 21 20:37:57 2007 +0000 @@ -28,7 +28,7 @@ endif # PLUGINS -EXTRA_DIST = +EXTRA_DIST = pietray.py AM_CPPFLAGS = \ -DDATADIR=\"$(datadir)\" \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/finch/plugins/pietray.py Thu Jun 21 20:37:57 2007 +0000 @@ -0,0 +1,183 @@ +#!/usr/bin/env python + +# This is a dbus script to show a docklet for Finch. This should work +# for any 'compatible' purple client. +# +# By 'compatible', I mean any client that sets and updates the +# "unseen-count" data on the conversations. +# +# It allows doing the following things: +# - It allows changing status. +# - It shows the current status and info about unread messages in +# the tooltip. +# - It can blink on unread IM/Chat messages, and it allows canging +# the preference for that. +# +# It requires GTK+ 2.10 or above, since it uses GtkStatusIcon. +# +# Sadrul <sadrul@pidgin.im> + +import pygtk +pygtk.require("2.0") +import gtk +import dbus, gobject, dbus.glib +import os # to get the pkg-config output + +bus = dbus.SessionBus() +obj = bus.get_object( + "im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject") +purple = dbus.Interface(obj, "im.pidgin.purple.PurpleInterface") + +def pack_image_label(menu, image, label): + item = gtk.ImageMenuItem(label) + if image: + img = gtk.Image() + img.set_from_stock(image, 1) + item.set_image(img) + menu.append(item) + return item + +def activate_primitive_status(item, status): + saved = purple.PurpleSavedstatusFindTransientByTypeAndMessage(status, "") + if not saved: + saved = purple.PurpleSavedstatusNew("", status) + purple.PurpleSavedstatusActivate(saved) + +def activate_popular_status(item, time): + saved = purple.PurpleSavedstatusFindByCreationTime(time) + if saved: + purple.PurpleSavedstatusActivate(saved) + +def generate_status_menu(menu): + item = gtk.MenuItem("Available") + item.connect("activate", activate_primitive_status, 2) + menu.append(item) + + item = gtk.MenuItem("Away") + item.connect("activate", activate_primitive_status, 5) + menu.append(item) + + item = gtk.MenuItem("Invisible") + item.connect("activate", activate_primitive_status, 4) + menu.append(item) + + item = gtk.MenuItem("Offline") + item.connect("activate", activate_primitive_status, 1) + menu.append(item) + + menu.append(gtk.MenuItem()) + + popular = purple.PurpleSavedstatusesGetPopular(10) + for pop in popular: + title = purple.PurpleSavedstatusGetTitle(pop).replace('_', '__') + item = gtk.MenuItem(title) + item.set_data("timestamp", purple.PurpleSavedstatusGetCreationTime(pop)) + item.connect("activate", activate_popular_status, purple.PurpleSavedstatusGetCreationTime(pop)) + menu.append(item) + +def toggle_pref(item, pref): + purple.PurplePrefsSetBool(pref, item.get_active()) + +def popup_menu(icon, button, tm, none): + menu = gtk.Menu() + + item = gtk.CheckMenuItem("Blink for unread IM") + item.set_active(purple.PurplePrefsGetBool("/plugins/dbus/docklet/blink/im")) + item.connect("activate", toggle_pref, "/plugins/dbus/docklet/blink/im") + menu.append(item) + + item = gtk.CheckMenuItem("Blink for unread Chats") + item.set_active(purple.PurplePrefsGetBool("/plugins/dbus/docklet/blink/chat")) + item.connect("activate", toggle_pref, "/plugins/dbus/docklet/blink/chat") + menu.append(item) + + menu.append(gtk.MenuItem()) + + #item = pack_image_label(menu, None, "Change Status...") + item = gtk.MenuItem("Change Status...") + menu.append(item) + submenu = gtk.Menu() + item.set_submenu(submenu) + generate_status_menu(submenu) + + menu.show_all() + menu.popup(None, None, None, button, tm) + +def get_status_message(): + status = purple.PurpleSavedstatusGetCurrent() + msg = purple.PurpleSavedstatusGetMessage(status) + if msg and len(msg) > 0: + text = msg + " " + else: + text = "" + text = text + "(" + { + 2: "Available", + 5: "Away", + 4: "Invisible", + 1: "Offline" + }[purple.PurpleSavedstatusGetType(status)] + ")" + return text + +def detect_unread_conversations(): + im = purple.PurplePrefsGetBool("/plugins/dbus/docklet/blink/im") + chat = purple.PurplePrefsGetBool("/plugins/dbus/docklet/blink/chat") + tooltip = "" + blink = False + if im and chat: + convs = purple.PurpleGetConversations() + elif im: + convs = purple.PurpleGetIms() + elif chat: + convs = purple.PurpleGetChats() + else: + convs = None + for conv in convs: + count = purple.PurpleConversationGetData(conv, "unseen-count") + if count and count > 0: + blink = True + tooltip = tooltip + "\n" + purple.PurpleConversationGetName(conv) + " (" + str(count) + ")" + t.set_from_file(path + "/share/pixmaps/pidgin.png") + if blink: + # I hate this icon + # t.set_from_file(path + "/share/pixmaps/pidgin/tray/22/tray-message.png") + tooltip = "\nUnread Messages:" + tooltip + # There's going to be some way to expose the client's display name in 2.1.0. + # Use that instead of hardcoding Finch here. + t.set_tooltip("Finch: " + get_status_message() + tooltip) + t.set_blinking(blink) + +def conversation_updated(conv, type): + detect_unread_conversations() + +def savedstatus_changed(new, old): + # Change the icon for status perhaps? + detect_unread_conversations() + +def init_prefs(): + if not purple.PurplePrefsExists("/plugins/dbus/docklet/blink"): + purple.PurplePrefsAddNone("/plugins") + purple.PurplePrefsAddNone("/plugins/dbus") + purple.PurplePrefsAddNone("/plugins/dbus/docklet") + purple.PurplePrefsAddNone("/plugins/dbus/docklet/blink") + purple.PurplePrefsAddBool("/plugins/dbus/docklet/blink/im", True) + purple.PurplePrefsAddBool("/plugins/dbus/docklet/blink/chat", True) + +pkg = os.popen("pkg-config --variable=prefix pidgin") +path = pkg.readline().rstrip() + +bus.add_signal_receiver(conversation_updated, + dbus_interface="im.pidgin.purple.PurpleInterface", + signal_name="ConversationUpdated") + +bus.add_signal_receiver(savedstatus_changed, + dbus_interface="im.pidgin.purple.PurpleInterface", + signal_name="SavedstatusChanged") + +t = gtk.StatusIcon() +t.connect("popup-menu", popup_menu, None) + +init_prefs() +detect_unread_conversations() + +gtk.main () +
--- a/libpurple/Makefile.mingw Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/Makefile.mingw Thu Jun 21 20:37:57 2007 +0000 @@ -72,6 +72,7 @@ upnp.c \ util.c \ value.c \ + version.c \ xmlnode.c \ whiteboard.c \ win32/giowin32.c \
--- a/libpurple/account.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/account.c Thu Jun 21 20:37:57 2007 +0000 @@ -205,7 +205,7 @@ { PurpleStatusType *type = purple_status_get_type(status); xmlnode *node, *child; - const GList *attrs, *attr; + GList *attrs, *attr; node = xmlnode_new("attributes"); @@ -241,7 +241,7 @@ statuses_to_xmlnode(const PurplePresence *presence) { xmlnode *node, *child; - const GList *statuses, *status; + GList *statuses, *status; node = xmlnode_new("statuses"); @@ -371,7 +371,7 @@ accounts_to_xmlnode(void) { xmlnode *node, *child; - const GList *cur; + GList *cur; node = xmlnode_new("account"); xmlnode_set_attrib(node, "version", "1.0"); @@ -877,7 +877,7 @@ void purple_account_destroy(PurpleAccount *account) { - const GList *l; + GList *l; g_return_if_fail(account != NULL); @@ -1805,7 +1805,7 @@ PurpleStatusType * purple_account_get_status_type(const PurpleAccount *account, const char *id) { - const GList *l; + GList *l; g_return_val_if_fail(account != NULL, NULL); g_return_val_if_fail(id != NULL, NULL); @@ -1824,7 +1824,7 @@ PurpleStatusType * purple_account_get_status_type_with_primitive(const PurpleAccount *account, PurpleStatusPrimitive primitive) { - const GList *l; + GList *l; g_return_val_if_fail(account != NULL, NULL); @@ -1857,7 +1857,7 @@ return purple_presence_is_status_active(account->presence, status_id); } -const GList * +GList * purple_account_get_status_types(const PurpleAccount *account) { g_return_val_if_fail(account != NULL, NULL); @@ -2272,7 +2272,7 @@ schedule_accounts_save(); } -const GList * +GList * purple_accounts_get_all(void) { return accounts; @@ -2282,7 +2282,7 @@ purple_accounts_get_all_active(void) { GList *list = NULL; - const GList *all = purple_accounts_get_all(); + GList *all = purple_accounts_get_all(); while (all != NULL) { PurpleAccount *account = all->data; @@ -2300,7 +2300,7 @@ purple_accounts_find(const char *name, const char *protocol_id) { PurpleAccount *account = NULL; - const GList *l; + GList *l; char *who; g_return_val_if_fail(name != NULL, NULL); @@ -2327,7 +2327,7 @@ void purple_accounts_restore_current_statuses() { - const GList *l; + GList *l; PurpleAccount *account; /* If we're not connected to the Internet right now, we bail on this */
--- a/libpurple/account.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/account.h Thu Jun 21 20:37:57 2007 +0000 @@ -369,7 +369,7 @@ * as a NULL-terminated list of id/value pairs. */ void purple_account_set_status(PurpleAccount *account, const char *status_id, - gboolean active, ...); + gboolean active, ...) G_GNUC_NULL_TERMINATED; /** @@ -672,9 +672,9 @@ * * @param account The account. * - * @return The account's status types. + * @constreturn The account's status types. */ -const GList *purple_account_get_status_types(const PurpleAccount *account); +GList *purple_account_get_status_types(const PurpleAccount *account); /** * Returns a protocol-specific integer setting for an account. @@ -884,9 +884,9 @@ /** * Returns a list of all accounts. * - * @return A list of all accounts. + * @constreturn A list of all accounts. */ -const GList *purple_accounts_get_all(void); +GList *purple_accounts_get_all(void); /** * Returns a list of all enabled accounts
--- a/libpurple/accountopt.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/accountopt.c Thu Jun 21 20:37:57 2007 +0000 @@ -22,6 +22,8 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "internal.h" + #include "accountopt.h" #include "util.h" @@ -282,7 +284,7 @@ return option->masked; } -const GList * +GList * purple_account_option_get_list(const PurpleAccountOption *option) { g_return_val_if_fail(option != NULL, NULL);
--- a/libpurple/accountopt.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/accountopt.h Thu Jun 21 20:37:57 2007 +0000 @@ -296,9 +296,9 @@ * * @param option The account option. * - * @return The list values. + * @constreturn The list values. */ -const GList *purple_account_option_get_list(const PurpleAccountOption *option); +GList *purple_account_option_get_list(const PurpleAccountOption *option); /*@}*/
--- a/libpurple/blist.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/blist.c Thu Jun 21 20:37:57 2007 +0000 @@ -35,8 +35,6 @@ #include "value.h" #include "xmlnode.h" -#define PATHSIZE 1024 - static PurpleBlistUiOps *blist_ui_ops = NULL; static PurpleBuddyList *purplebuddylist = NULL; @@ -304,7 +302,7 @@ { xmlnode *node, *child, *grandchild; PurpleBlistNode *gnode; - const GList *cur; + GList *cur; node = xmlnode_new("purple"); xmlnode_set_attrib(node, "version", "1.0"); @@ -1774,7 +1772,7 @@ node = (PurpleBlistNode *)buddy; cnode = node->parent; - gnode = cnode->parent; + gnode = (cnode != NULL) ? cnode->parent : NULL; contact = (PurpleContact *)cnode; group = (PurpleGroup *)gnode; @@ -1783,35 +1781,37 @@ node->prev->next = node->next; if (node->next) node->next->prev = node->prev; - if (cnode->child == node) + if ((cnode != NULL) && (cnode->child == node)) cnode->child = node->next; /* Adjust size counts */ - if (PURPLE_BUDDY_IS_ONLINE(buddy)) { - contact->online--; - if (contact->online == 0) - group->online--; + if (contact != NULL) { + if (PURPLE_BUDDY_IS_ONLINE(buddy)) { + contact->online--; + if (contact->online == 0) + group->online--; + } + if (purple_account_is_connected(buddy->account)) { + contact->currentsize--; + if (contact->currentsize == 0) + group->currentsize--; + } + contact->totalsize--; + + /* Re-sort the contact */ + if (cnode->child && contact->priority == buddy) { + purple_contact_invalidate_priority_buddy(contact); + if (ops && ops->update) + ops->update(purplebuddylist, cnode); + } } - if (purple_account_is_connected(buddy->account)) { - contact->currentsize--; - if (contact->currentsize == 0) - group->currentsize--; - } - contact->totalsize--; purple_blist_schedule_save(); - /* Re-sort the contact */ - if (cnode->child && contact->priority == buddy) { - purple_contact_invalidate_priority_buddy(contact); - if (ops && ops->update) - ops->update(purplebuddylist, cnode); - } - /* Remove this buddy from the buddies hash table */ hb.name = g_strdup(purple_normalize(buddy->account, buddy->name)); hb.account = buddy->account; - hb.group = ((PurpleBlistNode*)buddy)->parent->parent; + hb.group = gnode; g_hash_table_remove(purplebuddylist->buddies, &hb); g_free(hb.name); @@ -1841,7 +1841,7 @@ while (g_source_remove_by_user_data((gpointer *)buddy)); /* If the contact is empty then remove it */ - if (!cnode->child) + if ((contact != NULL) && !cnode->child) purple_blist_remove_contact(contact); } @@ -1893,7 +1893,7 @@ { PurpleBlistUiOps *ops = purple_blist_get_ui_ops(); PurpleBlistNode *node; - const GList *l; + GList *l; g_return_if_fail(group != NULL);
--- a/libpurple/buddyicon.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/buddyicon.c Thu Jun 21 20:37:57 2007 +0000 @@ -1021,7 +1021,7 @@ _purple_buddy_icons_account_loaded_cb() { const char *dirname = purple_buddy_icons_get_cache_dir(); - const GList *cur; + GList *cur; for (cur = purple_accounts_get_all(); cur != NULL; cur = cur->next) {
--- a/libpurple/cmds.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/cmds.c Thu Jun 21 20:37:57 2007 +0000 @@ -22,6 +22,8 @@ #include <string.h> +#include "internal.h" + #include "account.h" #include "util.h" #include "cmds.h"
--- a/libpurple/connection.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/connection.c Thu Jun 21 20:37:57 2007 +0000 @@ -456,7 +456,7 @@ void purple_connections_disconnect_all(void) { - const GList *l; + GList *l; PurpleConnection *gc; while ((l = purple_connections_get_all()) != NULL) { @@ -466,13 +466,13 @@ } } -const GList * +GList * purple_connections_get_all(void) { return connections; } -const GList * +GList * purple_connections_get_connecting(void) { return connections_connecting;
--- a/libpurple/connection.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/connection.h Thu Jun 21 20:37:57 2007 +0000 @@ -259,16 +259,16 @@ * Returns a list of all active connections. This does not * include connections that are in the process of connecting. * - * @return A list of all active connections. + * @constreturn A list of all active connections. */ -const GList *purple_connections_get_all(void); +GList *purple_connections_get_all(void); /** * Returns a list of all connections in the process of connecting. * - * @return A list of connecting connections. + * @constreturn A list of connecting connections. */ -const GList *purple_connections_get_connecting(void); +GList *purple_connections_get_connecting(void); /** * Checks if gc is still a valid pointer to a gc. @@ -279,7 +279,7 @@ * TODO: Eventually this bad boy will be removed, because it is * a gross fix for a crashy problem. */ -#define PURPLE_CONNECTION_IS_VALID(gc) (g_list_find((GList *)purple_connections_get_all(), (gc)) != NULL) +#define PURPLE_CONNECTION_IS_VALID(gc) (g_list_find(purple_connections_get_all(), (gc)) != NULL) /*@}*/
--- a/libpurple/conversation.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/conversation.c Thu Jun 21 20:37:57 2007 +0000 @@ -631,7 +631,7 @@ purple_conversation_foreach(void (*func)(PurpleConversation *conv)) { PurpleConversation *conv; - const GList *l; + GList *l; g_return_if_fail(func != NULL); @@ -732,19 +732,19 @@ return g_hash_table_lookup(conv->data, key); } -const GList * +GList * purple_get_conversations(void) { return conversations; } -const GList * +GList * purple_get_ims(void) { return ims; } -const GList * +GList * purple_get_chats(void) { return chats; @@ -759,7 +759,7 @@ PurpleConversation *c = NULL; gchar *name1; const gchar *name2; - const GList *cnv; + GList *cnv; g_return_val_if_fail(name != NULL, NULL); @@ -819,7 +819,7 @@ return; if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM && - !g_list_find((GList *)purple_get_conversations(), conv)) + !g_list_find(purple_get_conversations(), conv)) return; displayed = g_strdup(message); @@ -1250,7 +1250,7 @@ return users; } -const GList * +GList * purple_conv_chat_get_users(const PurpleConvChat *chat) { g_return_val_if_fail(chat != NULL, NULL); @@ -1284,7 +1284,7 @@ if (!purple_conv_chat_is_user_ignored(chat, name)) return; - item = g_list_find((GList *)purple_conv_chat_get_ignored(chat), + item = g_list_find(purple_conv_chat_get_ignored(chat), purple_conv_chat_get_ignored_user(chat, name)); purple_conv_chat_set_ignored(chat, @@ -1304,7 +1304,7 @@ return ignored; } -const GList * +GList * purple_conv_chat_get_ignored(const PurpleConvChat *chat) { g_return_val_if_fail(chat != NULL, NULL); @@ -1315,7 +1315,7 @@ const char * purple_conv_chat_get_ignored_user(const PurpleConvChat *chat, const char *user) { - const GList *ignored; + GList *ignored; g_return_val_if_fail(chat != NULL, NULL); g_return_val_if_fail(user != NULL, NULL); @@ -1810,7 +1810,7 @@ PurpleConversation *conv; PurpleConversationUiOps *ops; GList *users; - const GList *l; + GList *l; GList *names = NULL; g_return_if_fail(chat != NULL); @@ -1919,7 +1919,7 @@ PurpleConversation * purple_find_chat(const PurpleConnection *gc, int id) { - const GList *l; + GList *l; PurpleConversation *conv; for (l = purple_get_chats(); l != NULL; l = l->next) { @@ -1968,7 +1968,7 @@ PurpleConvChatBuddy * purple_conv_chat_cb_find(PurpleConvChat *chat, const char *name) { - const GList *l; + GList *l; PurpleConvChatBuddy *cb = NULL; g_return_val_if_fail(chat != NULL, NULL);
--- a/libpurple/conversation.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/conversation.h Thu Jun 21 20:37:57 2007 +0000 @@ -502,23 +502,23 @@ * * This list includes both IMs and chats. * - * @return A GList of all conversations. + * @constreturn A GList of all conversations. */ -const GList *purple_get_conversations(void); +GList *purple_get_conversations(void); /** * Returns a list of all IMs. * - * @return A GList of all IMs. + * @constreturn A GList of all IMs. */ -const GList *purple_get_ims(void); +GList *purple_get_ims(void); /** * Returns a list of all chats. * - * @return A GList of all chats. + * @constreturn A GList of all chats. */ -const GList *purple_get_chats(void); +GList *purple_get_chats(void); /** * Finds a conversation with the specified type, name, and Purple account. @@ -875,9 +875,9 @@ * * @param chat The chat. * - * @return The list of users. + * @constreturn The list of users. */ -const GList *purple_conv_chat_get_users(const PurpleConvChat *chat); +GList *purple_conv_chat_get_users(const PurpleConvChat *chat); /** * Ignores a user in a chat room. @@ -912,7 +912,7 @@ * * @return The list of ignored users. */ -const GList *purple_conv_chat_get_ignored(const PurpleConvChat *chat); +GList *purple_conv_chat_get_ignored(const PurpleConvChat *chat); /** * Returns the actual name of the specified ignored user, if it exists in
--- a/libpurple/core.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/core.c Thu Jun 21 20:37:57 2007 +0000 @@ -489,13 +489,33 @@ /* We're only going to duplicate a logs symlink. */ if (!strcmp(entry, "logs")) { + char *link; +#if GLIB_CHECK_VERSION(2,4,0) + GError *err = NULL; + + if ((link = g_file_read_link(name, &err)) == NULL) + { + char *name_utf8 = g_filename_to_utf8(name, -1, NULL, NULL, NULL); + purple_debug_error("core", "Error reading symlink %s: %s. Please report this at http://developer.pidgin.im\n", + name_utf8 ? name_utf8 : name, err->message); + g_free(name_utf8); + g_error_free(err); + g_free(name); + g_dir_close(dir); + g_free(status_file); + g_free(old_user_dir); + return FALSE; + } +#else char buf[MAXPATHLEN]; size_t linklen; if ((linklen = readlink(name, buf, sizeof(buf) - 1) == -1)) { + char *name_utf8 = g_filename_to_utf8(name, -1, NULL, NULL, NULL); purple_debug_error("core", "Error reading symlink %s: %s. Please report this at http://developer.pidgin.im\n", - name, strerror(errno)); + name_utf8, strerror(errno)); + g_free(name_utf8); g_free(name); g_dir_close(dir); g_free(status_file); @@ -504,13 +524,18 @@ } buf[linklen] = '\0'; - logs_dir = g_strconcat(user_dir, G_DIR_SEPARATOR_S "logs", NULL); + /* This way we don't have to GLIB_VERSION_CHECK every g_free(link) below. */ + link = g_strdup(buf); +#endif - if (!strcmp(buf, "../.purple/logs") || !strcmp(buf, logs_dir)) + logs_dir = g_build_filename(user_dir, "logs", NULL); + + if (!strcmp(link, "../.purple/logs") || !strcmp(link, logs_dir)) { /* If the symlink points to the new directory, we're * likely just trying again after a failed migration, * so there's no need to fail here. */ + g_free(link); g_free(logs_dir); continue; } @@ -522,12 +547,13 @@ g_unlink(logs_dir); /* Relative links will most likely still be - * valid from ~/.purple, though not it's not + * valid from ~/.purple, though it's not * guaranteed. Oh well. */ - if (symlink(buf, logs_dir)) + if (symlink(link, logs_dir)) { purple_debug_error("core", "Error symlinking %s to %s: %s. Please report this at http://developer.pidgin.im\n", - logs_dir, buf, strerror(errno)); + logs_dir, link, strerror(errno)); + g_free(link); g_free(name); g_free(logs_dir); g_dir_close(dir); @@ -536,6 +562,7 @@ return FALSE; } + g_free(link); g_free(logs_dir); continue; }
--- a/libpurple/dbus-analyze-functions.py Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/dbus-analyze-functions.py Thu Jun 21 20:37:57 2007 +0000 @@ -3,7 +3,7 @@ import sys # types translated into "int" -simpletypes = ["int", "gint", "guint", "gboolean"] +simpletypes = ["int", "gint", "guint", "gboolean", "gpointer", "size_t", "gssize", "time_t"] # List "excluded" contains functions that shouldn't be exported via # DBus. If you remove a function from this list, please make sure @@ -32,8 +32,8 @@ "purple_log_read", ] -# This is a list of functions that return a GList* whose elements are -# string, not pointers to objects. +# This is a list of functions that return a GList* or GSList * whose elements +# are strings, not pointers to objects. stringlists = [ "purple_prefs_get_path_list", "purple_prefs_get_string_list", @@ -41,6 +41,32 @@ "purple_uri_list_extract_uris", ] +# This is a list of functions that return a GList* or GSList* that should +# not be freed. Ideally, this information should be obtained from the Doxygen +# documentation at some point. +constlists = [ + "purple_account_get_status_types", + "purple_accounts_get_all", + "purple_account_option_get_list", + "purple_connections_get_all", + "purple_connections_get_connecting", + "purple_get_conversations", + "purple_get_ims", + "purple_get_chats", + "purple_conv_chat_get_users", + "purple_conv_chat_get_ignored", + "purple_mime_document_get_fields", + "purple_mime_document_get_parts", + "purple_mime_part_get_fields", + "purple_notify_user_info_get_entries", + "purple_request_fields_get_required", + "purple_request_field_list_get_selected", + "purple_request_field_list_get_items", + "purple_savedstatuses_get_all", + "purple_status_type_get_attrs", + "purple_presence_get_statuses", +] + pointer = "#pointer#" myexception = "My Exception" @@ -93,21 +119,26 @@ def processinput(self, type, name): const = False + unsigned = False if type[0] == "const": type = type[1:] const = True + if type[0] == "unsigned": + type = type[1:] + unsigned = True + if len(type) == 1: # simple types (int, gboolean, etc.) and enums if (type[0] in simpletypes) or ((type[0].startswith("Purple") and not type[0].endswith("Callback"))): - return self.inputsimple(type, name) + return self.inputsimple(type, name, unsigned) # pointers ... if (len(type) == 2) and (type[1] == pointer): # strings if type[0] in ["char", "gchar"]: if const: - return self.inputstring(type, name) + return self.inputstring(type, name, unsigned) else: raise myexception @@ -152,7 +183,7 @@ return self.outputpurplestructure(type, name) if type[0] in ["GList", "GSList"]: - return self.outputlist(type, name, const) + return self.outputlist(type, name) raise myexception @@ -206,12 +237,18 @@ print "typedef struct _%s %s;" % (type[0], type[0]) self.knowntypes.append(type[0]) - def inputsimple(self, type, name): + def inputsimple(self, type, name, us): self.paramshdr.append("%s %s" % (type[0], name)) - self.inputparams.append(("G_TYPE_INT", name)) + if us: + self.inputparams.append(("G_TYPE_UINT", name)) + else: + self.inputparams.append(("G_TYPE_INT", name)) - def inputstring(self, type, name): - self.paramshdr.append("const char *%s" % name) + def inputstring(self, type, name, us): + if us: + self.paramshdr.append("const unsigned char *%s" % name) + else: + self.paramshdr.append("const char *%s" % name) self.inputparams.append(("G_TYPE_STRING", name)) def inputpurplestructure(self, type, name): @@ -254,7 +291,7 @@ self.returncode.append("return (%s*) GINT_TO_POINTER(%s);" % (type[0], name)); self.definepurplestructure(type) - def outputlist(self, type, name, const): + def outputlist(self, type, name): self.functiontype = "%s*" % type[0] self.decls.append("GArray *%s;" % name) self.outputparams.append(('dbus_g_type_get_collection("GArray", G_TYPE_INT)', name)) @@ -298,7 +335,7 @@ print "\tdbus_message_append_args(reply_DBUS,", for param in self.cparamsout: if type(param) is str: - print "%s," % param + print "%s," % param, else: print "DBUS_TYPE_%s, &%s," % param, print "DBUS_TYPE_INVALID);" @@ -322,15 +359,23 @@ # input parameters - def inputsimple(self, type, name): - self.cdecls.append("\tdbus_int32_t %s;" % name) - self.cparams.append(("INT32", name)) - self.addintype("i", name) + def inputsimple(self, type, name, us): + if us: + self.cdecls.append("\tdbus_int32_t %s;" % name) + self.cparams.append(("INT32", name)) + self.addintype("i", name) + else: + self.cdecls.append("\tdbus_uint32_t %s;" % name) + self.cparams.append(("UINT32", name)) + self.addintype("u", name) - def inputstring(self, type, name): - self.cdecls.append("\tconst char *%s;" % name) + def inputstring(self, type, name, us): + if us: + self.cdecls.append("\tconst unsigned char *%s;" % name) + else: + self.cdecls.append("\tconst char *%s;" % name) self.cparams.append(("STRING", name)) - self.ccode .append("\tNULLIFY(%s);" % name) + self.ccode.append("\t%s = (%s && %s[0]) ? %s : NULL;" % (name,name,name,name)) self.addintype("s", name) def inputhash(self, type, name): @@ -390,28 +435,20 @@ # GList*, GSList*, assume that list is a list of objects # unless the function is in stringlists - def outputlist(self, type, name, const): + def outputlist(self, type, name): self.cdecls.append("\tdbus_int32_t %s_LEN;" % name) self.ccodeout.append("\tg_free(%s);" % name) - if const: - const_prefix = "const_" - else: - const_prefix = "" - - if (const): - self.cdecls.append("\tconst %s *list;" % type[0]); - else: - self.cdecls.append("\t%s *list;" % type[0]); + self.cdecls.append("\t%s *list;" % type[0]); if self.function.name in stringlists: self.cdecls.append("\tchar **%s;" % name) self.ccode.append("\tlist = %s;" % self.call) - self.ccode.append("\t%s = (char **)purple_const_%s_to_array(list, &%s_LEN);" % \ + self.ccode.append("\t%s = (char **)purple_%s_to_array(list, FALSE, &%s_LEN);" % \ (name, type[0], name)) - self.cparamsout.append("\tDBUS_TYPE_ARRAY, DBUS_TYPE_STRING, &%s, %s_LEN" \ + self.cparamsout.append("DBUS_TYPE_ARRAY, DBUS_TYPE_STRING, &%s, %s_LEN" \ % (name, name)) - if (not const): + if (not (self.function.name in constlists)): type_name = type[0].lower()[1:] self.ccodeout.append("\tg_%s_foreach(list, (GFunc)g_free, NULL);" % type_name) self.ccodeout.append("\tg_%s_free(list);" % type_name) @@ -419,11 +456,11 @@ else: self.cdecls.append("\tdbus_int32_t *%s;" % name) self.ccode.append("\tlist = %s;" % self.call) - self.ccode.append("\t%s = purple_dbusify_const_%s(list, &%s_LEN);" % \ + self.ccode.append("\t%s = purple_dbusify_%s(list, FALSE, &%s_LEN);" % \ (name, type[0], name)) - if (not const): + if (not (self.function.name in constlists)): self.ccode.append("\tg_%s_free(list);" % type[0].lower()[1:]) - self.cparamsout.append("\tDBUS_TYPE_ARRAY, DBUS_TYPE_INT32, &%s, %s_LEN" \ + self.cparamsout.append("DBUS_TYPE_ARRAY, DBUS_TYPE_INT32, &%s, %s_LEN" \ % (name, name)) self.addouttype("ai", name)
--- a/libpurple/dbus-bindings.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/dbus-bindings.h Thu Jun 21 20:37:57 2007 +0000 @@ -83,52 +83,14 @@ int first_arg_type, va_list var_args); -/** - * @deprecated In 3.0.0, this method will have a signature and behavior - * like that of purple_dbusify_const_GList(). - */ dbus_int32_t* purple_dbusify_GList(GList *list, gboolean free_memory, dbus_int32_t *len); -/** - * @deprecated In 3.0.0, this method will have a signature and behavior - * like that of purple_dbusify_const_GSList(). - */ dbus_int32_t* purple_dbusify_GSList(GSList *list, gboolean free_memory, dbus_int32_t *len); - -/** - * @since 2.1.0 - */ -dbus_int32_t* purple_dbusify_const_GList(const GList *list, dbus_int32_t *len); - -/** - * @since 2.1.0 - */ -dbus_int32_t* purple_dbusify_const_GSList(const GSList *list, dbus_int32_t *len); - -/** - * @deprecated In 3.0.0, this method will have a signature and behavior - * like that of purple_const_GList_to_array(). - */ gpointer* purple_GList_to_array(GList *list, gboolean free_memory, dbus_int32_t *len); -/** - * @deprecated In 3.0.0, this method will have a signature and behavior - * like that of purple_const_GSList_to_array(). - */ gpointer* purple_GSList_to_array(GSList *list, gboolean free_memory, dbus_int32_t *len); - -/** - * @since 2.1.0 - */ -gpointer* purple_const_GList_to_array(const GList *list, dbus_int32_t *len); - -/** - * @since 2.1.0 - */ -gpointer* purple_const_GSList_to_array(const GSList *list, dbus_int32_t *len); - GHashTable *purple_dbus_iter_hash_table(DBusMessageIter *iter, DBusError *error); const char* empty_to_null(const char *str);
--- a/libpurple/dbus-server.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/dbus-server.c Thu Jun 21 20:37:57 2007 +0000 @@ -120,7 +120,7 @@ if ((id == 0) && (node != NULL)) { purple_debug_warning("dbus", - "Need to register an object with the dbus subsystem.\n"); + "Need to register an object with the dbus subsystem. (If you are not a developer, please ignore this message.)\n"); return 0; } return id; @@ -290,45 +290,19 @@ } dbus_int32_t * -purple_dbusify_const_GList(const GList *list, dbus_int32_t *len) +purple_dbusify_GList(GList *list, gboolean free_memory, dbus_int32_t *len) { dbus_int32_t *array; int i; - const GList *elem; + GList *elem; - /* g_list_length() should really take a const GList */ - *len = g_list_length((GList *)list); + *len = g_list_length(list); array = g_new0(dbus_int32_t, *len); for (i = 0, elem = list; elem != NULL; elem = elem->next, i++) array[i] = purple_dbus_pointer_to_id(elem->data); - return array; -} - -dbus_int32_t * -purple_dbusify_GList(GList *list, gboolean free_memory, dbus_int32_t *len) -{ - dbus_int32_t *array = purple_dbusify_const_GList(list, len); - - if (!free_memory) - return array; - - g_list_free(list); - return array; -} - -dbus_int32_t * -purple_dbusify_const_GSList(const GSList *list, dbus_int32_t *len) -{ - dbus_int32_t *array; - int i; - const GSList *elem; - - /* g_slist_length should really take a const GSList */ - *len = g_slist_length((GSList *)list); - array = g_new0(dbus_int32_t, *len); - for (i = 0, elem = list; elem != NULL; elem = elem->next, i++) - array[i] = purple_dbus_pointer_to_id(elem->data); + if (free_memory) + g_list_free(list); return array; } @@ -336,26 +310,17 @@ dbus_int32_t * purple_dbusify_GSList(GSList *list, gboolean free_memory, dbus_int32_t *len) { - dbus_int32_t *array = purple_dbusify_const_GSList(list, len); - - if (!free_memory) - return array; - - g_slist_free(list); - return array; -} + dbus_int32_t *array; + int i; + GSList *elem; -gpointer * -purple_const_GList_to_array(const GList *list, dbus_int32_t *len) -{ - gpointer *array; - int i; - const GList *elem; + *len = g_slist_length(list); + array = g_new0(dbus_int32_t, *len); + for (i = 0, elem = list; elem != NULL; elem = elem->next, i++) + array[i] = purple_dbus_pointer_to_id(elem->data); - *len = g_list_length((GList *)list); - array = g_new0(gpointer, *len); - for (i = 0, elem = list; elem != NULL; elem = elem->next, i++) - array[i] = elem->data; + if (free_memory) + g_slist_free(list); return array; } @@ -363,39 +328,36 @@ gpointer * purple_GList_to_array(GList *list, gboolean free_memory, dbus_int32_t *len) { - gpointer *array = purple_const_GList_to_array(list, len); - - if (!free_memory) - return array; - - g_list_free(list); - return array; -} - -gpointer * -purple_const_GSList_to_array(const GSList *list, dbus_int32_t *len) -{ gpointer *array; int i; - const GSList *elem; + GList *elem; - *len = g_slist_length((GSList *)list); + *len = g_list_length(list); array = g_new0(gpointer, *len); for (i = 0, elem = list; elem != NULL; elem = elem->next, i++) array[i] = elem->data; + if (free_memory) + g_list_free(list); + return array; } gpointer * purple_GSList_to_array(GSList *list, gboolean free_memory, dbus_int32_t *len) { - gpointer *array = purple_const_GSList_to_array(list, len); + gpointer *array; + int i; + GSList *elem; - if (!free_memory) - return array; + *len = g_slist_length(list); + array = g_new0(gpointer, *len); + for (i = 0, elem = list; elem != NULL; elem = elem->next, i++) + array[i] = elem->data; - g_slist_free(list); + if (free_memory) + g_slist_free(list); + return array; } @@ -798,7 +760,7 @@ dbus_message_iter_init_append(signal, &iter); if (purple_dbus_message_append_purple_values(&iter, num_values, values, vargs)) - purple_debug_warning("dbus", "The signal \"%s\" caused some dbus error.\n", name); + purple_debug_warning("dbus", "The signal \"%s\" caused some dbus error. (If you are not a developer, please ignore this message.)\n", name); dbus_connection_send(purple_dbus_connection, signal, NULL); @@ -835,8 +797,18 @@ void purple_dbus_uninit(void) { - /* Surely we must do SOME kind of uninitialization? */ + DBusError error; + if (!purple_dbus_connection) + return; + dbus_error_init(&error); + dbus_connection_unregister_object_path(purple_dbus_connection, DBUS_PATH_PURPLE); + dbus_bus_release_name(purple_dbus_connection, DBUS_SERVICE_PURPLE, &error); + dbus_error_free(&error); + dbus_connection_unref(purple_dbus_connection); + purple_dbus_connection = NULL; + purple_signals_disconnect_by_handle(purple_dbus_get_handle()); g_free(init_error); init_error = NULL; } +
--- a/libpurple/dbus-useful.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/dbus-useful.c Thu Jun 21 20:37:57 2007 +0000 @@ -11,7 +11,7 @@ gboolean (*account_test)(const PurpleAccount *account)) { PurpleAccount *result = NULL; - const GList *l; + GList *l; char *who; if (name)
--- a/libpurple/example/nullclient.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/example/nullclient.c Thu Jun 21 20:37:57 2007 +0000 @@ -20,6 +20,10 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ + +/* XXX: we probably shouldn't include internal.h in examples */ +#include "internal.h" + #include "account.h" #include "conversation.h" #include "core.h"
--- a/libpurple/idle.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/idle.c Thu Jun 21 20:37:57 2007 +0000 @@ -199,7 +199,7 @@ /* Idle reporting stuff */ if (report_idle && (time_idle >= IDLEMARK)) { - const GList *l; + GList *l; for (l = purple_connections_get_all(); l != NULL; l = l->next) { PurpleConnection *gc = l->data; @@ -304,6 +304,14 @@ return &handle; } +static gboolean _do_purple_idle_touch_cb(gpointer data) +{ + purple_idle_touch(); + + return FALSE; +} + + void purple_idle_init() { @@ -325,7 +333,10 @@ purple_prefs_connect_callback(purple_idle_get_handle(), "/purple/away/idle_reporting", idle_reporting_cb, NULL); - purple_idle_touch(); + /* Initialize the idleness asynchronously so it doesn't check idleness, + * and potentially try to change the status before the UI is initialized */ + g_idle_add(_do_purple_idle_touch_cb, NULL); + } void
--- a/libpurple/imgstore.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/imgstore.c Thu Jun 21 20:37:57 2007 +0000 @@ -25,6 +25,8 @@ */ #include <glib.h> +#include "internal.h" + #include "dbus-maybe.h" #include "debug.h" #include "imgstore.h"
--- a/libpurple/imgstore.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/imgstore.h Thu Jun 21 20:37:57 2007 +0000 @@ -28,7 +28,6 @@ #include <glib.h> -struct _PurpleStoredImage; typedef struct _PurpleStoredImage PurpleStoredImage; #ifdef __cplusplus
--- a/libpurple/internal.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/internal.h Thu Jun 21 20:37:57 2007 +0000 @@ -112,15 +112,17 @@ #endif #ifndef MAXPATHLEN -# define MAXPATHLEN 1024 +# ifdef PATH_MAX +# define MAXPATHLEN PATH_MAX +# else +# define MAXPATHLEN 1024 +# endif #endif #ifndef HOST_NAME_MAX # define HOST_NAME_MAX 255 #endif -#define PATHSIZE 1024 - #include <glib.h> #if !GLIB_CHECK_VERSION(2,4,0) # define G_MAXUINT32 ((guint32) 0xffffffff) @@ -176,6 +178,14 @@ # endif #endif +#ifndef G_GNUC_NULL_TERMINATED +# if __GNUC__ >= 4 +# define G_GNUC_NULL_TERMINATED __attribute__((__sentinel__)) +# else +# define G_GNUC_NULL_TERMINATED +# endif +#endif + /* Safer ways to work with static buffers. When using non-static * buffers, either use g_strdup_* functions (preferred) or use * g_strlcpy/g_strlcpy directly. */
--- a/libpurple/log.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/log.c Thu Jun 21 20:37:57 2007 +0000 @@ -406,6 +406,9 @@ if (g_slist_find(loggers, logger)) return; loggers = g_slist_append(loggers, logger); + if (strcmp(purple_prefs_get_string("/purple/logging/format"), logger->id) == 0) { + purple_prefs_trigger_callback("/purple/logging/format"); + } } void purple_log_logger_remove (PurpleLogLogger *logger) @@ -982,7 +985,7 @@ GDir *protocol_dir; const gchar *username; gchar *protocol_unescaped; - const GList *account_iter; + GList *account_iter; GList *accounts = NULL; if ((protocol_dir = g_dir_open(protocol_path, 0, NULL)) == NULL) {
--- a/libpurple/mime.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/mime.c Thu Jun 21 20:37:57 2007 +0000 @@ -29,6 +29,8 @@ #include <glib/glist.h> #include <glib/gstring.h> +#include "internal.h" + /* this should become "util.h" if we ever get this into purple proper */ #include "debug.h" #include "mime.h" @@ -277,7 +279,7 @@ } -const GList * +GList * purple_mime_part_get_fields(PurpleMimePart *part) { g_return_val_if_fail(part != NULL, NULL); @@ -513,7 +515,7 @@ } -const GList * +GList * purple_mime_document_get_fields(PurpleMimeDocument *doc) { g_return_val_if_fail(doc != NULL, NULL); @@ -537,7 +539,7 @@ } -const GList * +GList * purple_mime_document_get_parts(PurpleMimeDocument *doc) { g_return_val_if_fail(doc != NULL, NULL);
--- a/libpurple/mime.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/mime.h Thu Jun 21 20:37:57 2007 +0000 @@ -90,10 +90,10 @@ * * @param doc The MIME document. * - * @returns A list of strings indicating the fields (but not the values of - * the fields) in the header of doc. + * @constreturn A list of strings indicating the fields (but not the values + * of the fields) in the header of doc. */ -const GList *purple_mime_document_get_fields(PurpleMimeDocument *doc); +GList *purple_mime_document_get_fields(PurpleMimeDocument *doc); /** * Get the value of a specific field in the header of a document. @@ -125,9 +125,9 @@ * * @param doc The MIME document. * - * @returns List of PurpleMimePart contained within doc. + * @constreturn List of PurpleMimePart contained within doc. */ -const GList *purple_mime_document_get_parts(PurpleMimeDocument *doc); +GList *purple_mime_document_get_parts(PurpleMimeDocument *doc); /** * Create and insert a new part into a MIME document. @@ -142,10 +142,10 @@ * * @param part The MIME document part. * - * @returns List of strings indicating the fields (but not the values - * of the fields) in the header of part. + * @constreturn List of strings indicating the fields (but not the values + * of the fields) in the header of part. */ -const GList *purple_mime_part_get_fields(PurpleMimePart *part); +GList *purple_mime_part_get_fields(PurpleMimePart *part); /**
--- a/libpurple/notify.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/notify.c Thu Jun 21 20:37:57 2007 +0000 @@ -530,7 +530,7 @@ g_free(user_info); } -const GList * +GList * purple_notify_user_info_get_entries(PurpleNotifyUserInfo *user_info) { g_return_val_if_fail(user_info != NULL, NULL); @@ -749,18 +749,16 @@ void purple_notify_close_with_handle(void *handle) { - GList *l, *l_next; + GList *l, *prev = NULL; PurpleNotifyUiOps *ops; g_return_if_fail(handle != NULL); ops = purple_notify_get_ui_ops(); - for (l = handles; l != NULL; l = l_next) { + for (l = handles; l != NULL; l = prev ? prev->next : handles) { PurpleNotifyInfo *info = l->data; - l_next = l->next; - if (info->handle == handle) { handles = g_list_remove(handles, info); @@ -771,7 +769,8 @@ info->cb(info->cb_user_data); g_free(info); - } + } else + prev = l; } }
--- a/libpurple/notify.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/notify.h Thu Jun 21 20:37:57 2007 +0000 @@ -456,9 +456,9 @@ * * @param user_info The PurpleNotifyUserInfo * - * @result A GList of PurpleNotifyUserInfoEntry objects + * @constreturn A GList of PurpleNotifyUserInfoEntry objects */ -const GList *purple_notify_user_info_get_entries(PurpleNotifyUserInfo *user_info); +GList *purple_notify_user_info_get_entries(PurpleNotifyUserInfo *user_info); /** * Create a textual representation of a PurpleNotifyUserInfo, separating entries with newline
--- a/libpurple/ntlm.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/ntlm.c Thu Jun 21 20:37:57 2007 +0000 @@ -25,6 +25,8 @@ #include <glib.h> #include <stdlib.h> +#include "internal.h" + #include "util.h" #include "ntlm.h" #include "cipher.h"
--- a/libpurple/plugins/Makefile.mingw Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/plugins/Makefile.mingw Thu Jun 21 20:37:57 2007 +0000 @@ -63,6 +63,7 @@ autoaccept.dll \ buddynote.dll \ idle.dll \ + joinpart.dll \ log_reader.dll \ newline.dll \ offlinemsg.dll \
--- a/libpurple/plugins/buddynote.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/plugins/buddynote.c Thu Jun 21 20:37:57 2007 +0000 @@ -58,6 +58,9 @@ { PurpleMenuAction *bna = NULL; + if (purple_blist_node_get_flags(node) & PURPLE_BLIST_NODE_FLAG_NO_SAVE) + return; + *m = g_list_append(*m, bna); bna = purple_menu_action_new(_("Edit Notes..."), PURPLE_CALLBACK(buddynote_edit_cb), NULL, NULL); *m = g_list_append(*m, bna);
--- a/libpurple/plugins/joinpart.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/plugins/joinpart.c Thu Jun 21 20:37:57 2007 +0000 @@ -86,7 +86,7 @@ /* If the room is small, don't bother. */ chat = PURPLE_CONV_CHAT(conv); threshold = purple_prefs_get_int(THRESHOLD_PREF); - if (g_list_length((GList *)purple_conv_chat_get_users(chat)) < threshold) + if (g_list_length(purple_conv_chat_get_users(chat)) < threshold) return FALSE; /* We always care about our buddies! */
--- a/libpurple/plugins/log_reader.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/plugins/log_reader.c Thu Jun 21 20:37:57 2007 +0000 @@ -1290,9 +1290,16 @@ list = g_list_delete_link(list, last); } } - } else if (line[0] && line[1] && line [3] && + } else if (line[0] && line[1] && line[2] && purple_str_has_prefix(&line[3], "sion Start ")) { - + /* The conditional is to make sure we're not reading off + * the end of the string. We don't want strlen(), as that'd + * have to count the whole string needlessly. + * + * The odd check here is because a Session Start at the + * beginning of the file can be overwritten with a UTF-8 + * byte order mark. Yes, it's weird. + */ char *their_nickname = line; char *timestamp;
--- a/libpurple/plugins/newline.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/plugins/newline.c Thu Jun 21 20:37:57 2007 +0000 @@ -32,7 +32,7 @@ PurpleConversation *conv, int *flags, void *data) { if (g_ascii_strncasecmp(*message, "/me ", strlen("/me "))) { - char *tmp = g_strdup_printf("\n%s", *message); + char *tmp = g_strdup_printf("<br/>%s", *message); g_free(*message); *message = tmp; }
--- a/libpurple/plugins/perl/common/Account.xs Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/plugins/perl/common/Account.xs Thu Jun 21 20:37:57 2007 +0000 @@ -184,7 +184,7 @@ purple_account_get_status_types(account) Purple::Account account PREINIT: - const GList *l; + GList *l; PPCODE: for (l = purple_account_get_status_types(account); l != NULL; l = l->next) { XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::StatusType"))); @@ -290,7 +290,7 @@ void purple_accounts_get_all() PREINIT: - const GList *l; + GList *l; PPCODE: for (l = purple_accounts_get_all(); l != NULL; l = l->next) { XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Account")));
--- a/libpurple/plugins/perl/common/AccountOpts.xs Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/plugins/perl/common/AccountOpts.xs Thu Jun 21 20:37:57 2007 +0000 @@ -88,7 +88,7 @@ purple_account_option_get_list(option) Purple::Account::Option option PREINIT: - const GList *l; + GList *l; PPCODE: for (l = purple_account_option_get_list(option); l != NULL; l = l->next) { /* XXX These are actually PurpleKeyValuePairs but we don't have a
--- a/libpurple/plugins/perl/common/Connection.xs Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/plugins/perl/common/Connection.xs Thu Jun 21 20:37:57 2007 +0000 @@ -72,7 +72,7 @@ void purple_connections_get_all() PREINIT: - const GList *l; + GList *l; PPCODE: for (l = purple_connections_get_all(); l != NULL; l = l->next) { XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Connection"))); @@ -81,7 +81,7 @@ void purple_connections_get_connecting() PREINIT: - const GList *l; + GList *l; PPCODE: for (l = purple_connections_get_connecting(); l != NULL; l = l->next) { XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Connection")));
--- a/libpurple/plugins/perl/common/Conversation.xs Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/plugins/perl/common/Conversation.xs Thu Jun 21 20:37:57 2007 +0000 @@ -62,6 +62,7 @@ const_iv(RAW), const_iv(IMAGES), const_iv(NOTIFY), + const_iv(NO_LINKIFY), }; static const constiv cbflags_const_iv[] = { #undef const_iv @@ -93,7 +94,7 @@ void purple_get_ims() PREINIT: - const GList *l; + GList *l; PPCODE: for (l = purple_get_ims(); l != NULL; l = l->next) { XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Conversation"))); @@ -102,7 +103,7 @@ void purple_get_conversations() PREINIT: - const GList *l; + GList *l; PPCODE: for (l = purple_get_conversations(); l != NULL; l = l->next) { XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Conversation"))); @@ -111,7 +112,7 @@ void purple_get_chats() PREINIT: - const GList *l; + GList *l; PPCODE: for (l = purple_get_chats(); l != NULL; l = l->next) { XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Conversation"))); @@ -354,7 +355,7 @@ purple_conv_chat_get_users(chat) Purple::Conversation::Chat chat PREINIT: - const GList *l; + GList *l; PPCODE: for (l = purple_conv_chat_get_users(chat); l != NULL; l = l->next) { XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::ListEntry"))); @@ -394,7 +395,7 @@ purple_conv_chat_get_ignored(chat) Purple::Conversation::Chat chat PREINIT: - const GList *l; + GList *l; PPCODE: for (l = purple_conv_chat_get_ignored(chat); l != NULL; l = l->next) { XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::ListEntry")));
--- a/libpurple/plugins/perl/common/Notify.xs Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/plugins/perl/common/Notify.xs Thu Jun 21 20:37:57 2007 +0000 @@ -140,7 +140,7 @@ purple_notify_user_info_get_entries(user_info) Purple::NotifyUserInfo user_info PREINIT: - const GList *l; + GList *l; PPCODE: l = purple_notify_user_info_get_entries(user_info); for (; l != NULL; l = l->next) {
--- a/libpurple/plugins/perl/common/Request.xs Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/plugins/perl/common/Request.xs Thu Jun 21 20:37:57 2007 +0000 @@ -396,7 +396,7 @@ purple_request_field_list_get_items(field) Purple::Request::Field field PREINIT: - const GList *l; + GList *l; PPCODE: for (l = purple_request_field_list_get_items(field); l != NULL; l = l->next) { XPUSHs(sv_2mortal(newSVpv(l->data, 0))); @@ -410,7 +410,7 @@ purple_request_field_list_get_selected(field) Purple::Request::Field field PREINIT: - const GList *l; + GList *l; PPCODE: for (l = purple_request_field_list_get_selected(field); l != NULL; l = l->next) { XPUSHs(sv_2mortal(newSVpv(l->data, 0))); @@ -625,7 +625,7 @@ purple_request_fields_get_required(fields) Purple::Request::Fields fields PREINIT: - const GList *l; + GList *l; PPCODE: for (l = purple_request_fields_get_required(fields); l != NULL; l = l->next) { XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Request::Field")));
--- a/libpurple/plugins/perl/common/SavedStatuses.xs Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/plugins/perl/common/SavedStatuses.xs Thu Jun 21 20:37:57 2007 +0000 @@ -130,7 +130,7 @@ void purple_savedstatuses_get_all() PREINIT: - const GList *l; + GList *l; PPCODE: for (l = purple_savedstatuses_get_all(); l != NULL; l = l->next) { XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::SavedStatus"))); @@ -140,7 +140,7 @@ purple_savedstatuses_get_popular(how_many) unsigned int how_many PREINIT: - const GList *l; + GList *l; PPCODE: for (l = purple_savedstatuses_get_popular(how_many); l != NULL; l = l->next) { XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::SavedStatus")));
--- a/libpurple/plugins/perl/common/Status.xs Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/plugins/perl/common/Status.xs Thu Jun 21 20:37:57 2007 +0000 @@ -142,7 +142,7 @@ purple_presence_get_statuses(presence) Purple::Presence presence PREINIT: - const GList *l; + GList *l; PPCODE: for (l = purple_presence_get_statuses(presence); l != NULL; l = l->next) { XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Status"))); @@ -392,7 +392,7 @@ purple_status_type_get_attrs(status_type) Purple::StatusType status_type PREINIT: - const GList *l; + GList *l; PPCODE: for (l = purple_status_type_get_attrs(status_type); l != NULL; l = l->next) { XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::StatusAttr")));
--- a/libpurple/plugins/perl/perl-common.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/plugins/perl/perl-common.h Thu Jun 21 20:37:57 2007 +0000 @@ -9,6 +9,9 @@ #include <EXTERN.h> #include <perl.h> +/* XXX: perl defines it's own _ but I think it's safe to undef it */ +#undef _ +#include "internal.h" #include "plugin.h" #include "value.h"
--- a/libpurple/plugins/perl/perl-handlers.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/plugins/perl/perl-handlers.c Thu Jun 21 20:37:57 2007 +0000 @@ -214,6 +214,7 @@ perl_timeout_cb(gpointer data) { PurplePerlTimeoutHandler *handler = (PurplePerlTimeoutHandler *)data; + gboolean ret = FALSE; dSP; ENTER; @@ -224,16 +225,16 @@ call_sv(handler->callback, G_EVAL | G_SCALAR); SPAGAIN; + ret = POPi; + PUTBACK; FREETMPS; LEAVE; - /* We're returning FALSE, so no need to manually remove the source */ - handler->iotag = 0; + if (ret == FALSE) + destroy_timeout_handler(handler); - destroy_timeout_handler(handler); - - return FALSE; + return ret; } typedef void *DATATYPE;
--- a/libpurple/plugins/startup.py Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/plugins/startup.py Thu Jun 21 20:37:57 2007 +0000 @@ -25,6 +25,13 @@ import dbus import os +if len(sys.argv) == 1: + print "Usage:", sys.argv[0], """<purple-client> [arguments] + +Example: + """, sys.argv[0], "pidgin -d -c /my/home" + sys.exit(1) + home = os.path.expanduser('~/.purple/') for arg in range(1, len(sys.argv[1:])): if sys.argv[arg] == "-c":
--- a/libpurple/plugins/tcl/tcl_cmds.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/plugins/tcl/tcl_cmds.c Thu Jun 21 20:37:57 2007 +0000 @@ -43,7 +43,7 @@ static PurpleAccount *tcl_validate_account(Tcl_Obj *obj, Tcl_Interp *interp) { PurpleAccount *account; - const GList *cur; + GList *cur; account = purple_tcl_ref_get(interp, obj, PurpleTclRefAccount); @@ -62,7 +62,7 @@ static PurpleConversation *tcl_validate_conversation(Tcl_Obj *obj, Tcl_Interp *interp) { PurpleConversation *convo; - const GList *cur; + GList *cur; convo = purple_tcl_ref_get(interp, obj, PurpleTclRefConversation); @@ -81,7 +81,7 @@ static PurpleConnection *tcl_validate_gc(Tcl_Obj *obj, Tcl_Interp *interp) { PurpleConnection *gc; - const GList *cur; + GList *cur; gc = purple_tcl_ref_get(interp, obj, PurpleTclRefConnection); @@ -113,7 +113,7 @@ const char *listopts[] = { "-all", "-online", NULL }; enum { CMD_ACCOUNTLIST_ALL, CMD_ACCOUNTLIST_ONLINE } listopt; const char *alias; - const GList *cur; + GList *cur; PurpleAccount *account; PurpleStatus *status; PurpleStatusType *status_type; @@ -612,7 +612,7 @@ const char *cmds[] = { "account", "displayname", "handle", "list", NULL }; enum { CMD_CONN_ACCOUNT, CMD_CONN_DISPLAYNAME, CMD_CONN_HANDLE, CMD_CONN_LIST } cmd; int error; - const GList *cur; + GList *cur; PurpleConnection *gc; if (objc < 2) { @@ -680,7 +680,7 @@ PurpleConversation *convo; PurpleAccount *account; PurpleConversationType type; - const GList *cur; + GList *cur; char *opt, *from, *what; int error, argsused, flags = 0; @@ -1082,7 +1082,7 @@ Tcl_Obj *result = Tcl_GetObjResult(interp); Tcl_Obj *list, *elem; PurplePresence *presence; - const GList *cur; + GList *cur; int error, idle, idle_time, login_time; if (objc < 2) { @@ -1524,7 +1524,7 @@ Tcl_Obj *result = Tcl_GetObjResult(interp); PurpleStatusType *status_type; Tcl_Obj *list, *elem; - const GList *cur; + GList *cur; int error; if (objc < 2) {
--- a/libpurple/pounce.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/pounce.c Thu Jun 21 20:37:57 2007 +0000 @@ -1014,6 +1014,20 @@ return pounces; } +GList *purple_pounces_get_all_for_ui(const char *ui) +{ + GList *list = NULL, *iter; + g_return_val_if_fail(ui != NULL, NULL); + + for (iter = pounces; iter; iter = iter->next) { + PurplePounce *pounce = iter->data; + if (pounce->ui_type && strcmp(pounce->ui_type, ui) == 0) + list = g_list_prepend(list, pounce); + } + list = g_list_reverse(list); + return list; +} + static void free_pounce_handler(gpointer user_data) {
--- a/libpurple/pounce.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/pounce.h Thu Jun 21 20:37:57 2007 +0000 @@ -343,6 +343,17 @@ GList *purple_pounces_get_all(void); /** + * Returns a list of registered buddy pounces for the ui-type. + * + * @param ui The ID of the UI using the core. + * + * @return The list of buddy pounces. The list should be freed by + * the caller when it's no longer used. + * @since 2.1.0 + */ +GList *purple_pounces_get_all_for_ui(const char *ui); + +/** * Returns the buddy pounce subsystem handle. * * @return The subsystem handle.
--- a/libpurple/prefs.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/prefs.c Thu Jun 21 20:37:57 2007 +0000 @@ -1355,7 +1355,6 @@ purple_prefs_remove("/plugins/core/autorecon/hide_reconnecting_dialog"); purple_prefs_remove("/plugins/core/autorecon/restore_state"); purple_prefs_remove("/plugins/core/autorecon"); - purple_prefs_remove("/purple/debug/timestamps"); /* Convert old sounds while_away pref to new 3-way pref. */ if (purple_prefs_exists("/purple/sound/while_away") &&
--- a/libpurple/protocols/Makefile.mingw Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/Makefile.mingw Thu Jun 21 20:37:57 2007 +0000 @@ -8,7 +8,7 @@ PIDGIN_TREE_TOP := ../.. include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak -SUBDIRS = gg irc jabber msn novell null oscar qq sametime silc simple yahoo bonjour +SUBDIRS = gg irc jabber msn novell null oscar qq sametime silc10 simple yahoo bonjour .PHONY: all install clean
--- a/libpurple/protocols/bonjour/jabber.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/bonjour/jabber.c Thu Jun 21 20:37:57 2007 +0000 @@ -736,15 +736,16 @@ if (bb->conversation == NULL) { PurpleProxyConnectData *connect_data; + PurpleProxyInfo *proxy_info; /* Make sure that the account always has a proxy of "none". * This is kind of dirty, but proxy_connect_none() isn't exposed. */ - static PurpleProxyInfo *tmp_none_proxy_info = NULL; - if (!tmp_none_proxy_info) { - tmp_none_proxy_info = purple_proxy_info_new(); - purple_proxy_info_set_type(tmp_none_proxy_info, PURPLE_PROXY_NONE); + proxy_info = purple_account_get_proxy_info(data->account); + if (proxy_info == NULL) { + proxy_info = purple_proxy_info_new(); + purple_account_set_proxy_info(data->account, proxy_info); } - purple_account_set_proxy_info(data->account, tmp_none_proxy_info); + purple_proxy_info_set_type(proxy_info, PURPLE_PROXY_NONE); connect_data = purple_proxy_connect(data->account->gc, data->account, bb->ip,
--- a/libpurple/protocols/gg/gg.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/gg/gg.c Thu Jun 21 20:37:57 2007 +0000 @@ -823,7 +823,7 @@ { GGPInfo *info = gc->proto_data; PurpleRequestField *field; - const GList *sel; + GList *sel; field = purple_request_fields_get_field(fields, "name"); sel = purple_request_field_list_get_selected(field);
--- a/libpurple/protocols/gg/gg.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/gg/gg.h Thu Jun 21 20:37:57 2007 +0000 @@ -25,6 +25,7 @@ #define _PURPLE_GG_H #include <libgadu.h> +#include "internal.h" #include "search.h" #include "connection.h"
--- a/libpurple/protocols/irc/irc.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/irc/irc.c Thu Jun 21 20:37:57 2007 +0000 @@ -592,7 +592,7 @@ struct irc_conn *irc = gc->proto_data; int len; - if(!g_list_find((GList *)purple_connections_get_all(), gc)) { + if(!g_list_find(purple_connections_get_all(), gc)) { purple_ssl_close(gsc); return; }
--- a/libpurple/protocols/jabber/buddy.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/jabber/buddy.c Thu Jun 21 20:37:57 2007 +0000 @@ -385,6 +385,11 @@ xmlnode *vc_node; struct tag_attr *tag_attr; + /* if we have't grabbed the remote vcard yet, we can't + * assume that what we have here is correct */ + if(!js->vcard_fetched) + return; + g_free(js->avatar_hash); js->avatar_hash = NULL; @@ -443,14 +448,9 @@ void jabber_set_buddy_icon(PurpleConnection *gc, PurpleStoredImage *img) { - PurplePresence *gpresence; - PurpleStatus *status; - jabber_set_info(gc, purple_account_get_user_info(gc->account)); - gpresence = purple_account_get_presence(gc->account); - status = purple_presence_get_active_status(gpresence); - jabber_presence_send(gc->account, status); + jabber_presence_send(gc->account, NULL); } /* @@ -739,6 +739,40 @@ } } +static void jabber_vcard_save_mine(JabberStream *js, xmlnode *packet, gpointer data) +{ + xmlnode *vcard; + char *txt; + PurpleStoredImage *img; + + if((vcard = xmlnode_get_child(packet, "vCard")) || + (vcard = xmlnode_get_child_with_namespace(packet, "query", "vcard-temp"))) + { + txt = xmlnode_to_str(vcard, NULL); + purple_account_set_user_info(purple_connection_get_account(js->gc), txt); + + g_free(txt); + } else { + /* if we have no vCard, then lets not overwrite what we might have locally */ + } + + js->vcard_fetched = TRUE; + + if(NULL != (img = purple_buddy_icons_find_account_icon(js->gc->account))) { + jabber_set_buddy_icon(js->gc, img); + purple_imgstore_unref(img); + } +} + +void jabber_vcard_fetch_mine(JabberStream *js) +{ + JabberIq *iq = jabber_iq_new_query(js, JABBER_IQ_GET, "vcard-temp"); + + jabber_iq_set_callback(iq, jabber_vcard_save_mine, NULL); + + jabber_iq_send(iq); +} + static void jabber_vcard_parse(JabberStream *js, xmlnode *packet, gpointer data) { const char *id, *from;
--- a/libpurple/protocols/jabber/buddy.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/jabber/buddy.h Thu Jun 21 20:37:57 2007 +0000 @@ -103,4 +103,6 @@ void jabber_buddy_remove_all_pending_buddy_info_requests(JabberStream *js); +void jabber_vcard_fetch_mine(JabberStream *js); + #endif /* _PURPLE_JABBER_BUDDY_H_ */
--- a/libpurple/protocols/jabber/disco.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/jabber/disco.c Thu Jun 21 20:37:57 2007 +0000 @@ -96,6 +96,7 @@ SUPPORT_FEATURE("http://jabber.org/protocol/si") SUPPORT_FEATURE("http://jabber.org/protocol/si/profile/file-transfer") SUPPORT_FEATURE("http://jabber.org/protocol/xhtml-im") + SUPPORT_FEATURE("urn:xmpp:ping") } else { xmlnode *error, *inf; @@ -217,18 +218,15 @@ static void jabber_disco_finish_server_info_result_cb(JabberStream *js) { - PurplePresence *gpresence; - PurpleStatus *status; + + jabber_vcard_fetch_mine(js); if (!(js->server_caps & JABBER_CAP_GOOGLE_ROSTER)) { /* If the server supports JABBER_CAP_GOOGLE_ROSTER; we will have already requested it */ jabber_roster_request(js); } - /* Send initial presence; this will trigger receipt of presence for contacts on the roster */ - gpresence = purple_account_get_presence(js->gc->account); - status = purple_presence_get_active_status(gpresence); - jabber_presence_send(js->gc->account, status); + /* when we get the roster back, we'll send our initial presence */ } static void
--- a/libpurple/protocols/jabber/google.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/jabber/google.c Thu Jun 21 20:37:57 2007 +0000 @@ -1,4 +1,3 @@ - /** * Purple is the legal property of its developers, whose names are too numerous * to list here. Please refer to the COPYRIGHT file distributed with this @@ -30,7 +29,7 @@ #include "presence.h" #include "iq.h" -static void +static void jabber_gmail_parse(JabberStream *js, xmlnode *packet, gpointer nul) { const char *type = xmlnode_get_attrib(packet, "type"); @@ -40,57 +39,57 @@ const char *in_str; char *to_name; int i, count = 1, returned_count; - + const char **tos, **froms, **subjects, **urls; - + if (strcmp(type, "result")) return; - + child = xmlnode_get_child(packet, "mailbox"); if (!child) return; in_str = xmlnode_get_attrib(child, "total-matched"); - if (in_str && *in_str) + if (in_str && *in_str) count = atoi(in_str); - - if (count == 0) + + if (count == 0) return; message = xmlnode_get_child(child, "mail-thread-info"); - + /* Loop once to see how many messages were returned so we can allocate arrays * accordingly */ - if (!message) + if (!message) return; for (returned_count = 0; message; returned_count++, message=xmlnode_get_next_twin(message)); - + froms = g_new0(const char* , returned_count); tos = g_new0(const char* , returned_count); subjects = g_new0(const char* , returned_count); urls = g_new0(const char* , returned_count); - + to = xmlnode_get_attrib(packet, "to"); to_name = jabber_get_bare_jid(to); url = xmlnode_get_attrib(child, "url"); if (!url || !*url) url = "http://www.gmail.com"; - + message= xmlnode_get_child(child, "mail-thread-info"); for (i=0; message; message = xmlnode_get_next_twin(message), i++) { subject_node = xmlnode_get_child(message, "subject"); sender_node = xmlnode_get_child(message, "senders"); sender_node = xmlnode_get_child(sender_node, "sender"); - while (sender_node && (!xmlnode_get_attrib(sender_node, "unread") || + while (sender_node && (!xmlnode_get_attrib(sender_node, "unread") || !strcmp(xmlnode_get_attrib(sender_node, "unread"),"0"))) sender_node = xmlnode_get_next_twin(sender_node); - + if (!sender_node) { i--; continue; } - + from = xmlnode_get_attrib(sender_node, "name"); if (!from || !*from) from = xmlnode_get_attrib(sender_node, "address"); @@ -102,18 +101,18 @@ froms[i] = (from != NULL ? from : ""); subjects[i] = (subject != NULL ? subject : ""); urls[i] = (url != NULL ? url : ""); - + tid = xmlnode_get_attrib(message, "tid"); - if (tid && + if (tid && (js->gmail_last_tid == NULL || strcmp(tid, js->gmail_last_tid) > 0)) { g_free(js->gmail_last_tid); js->gmail_last_tid = g_strdup(tid); } } - if (i>0) - purple_notify_emails(js->gc, count, count == returned_count, subjects, froms, tos, - urls, NULL, NULL); + if (i>0) + purple_notify_emails(js->gc, count, count == returned_count, subjects, froms, tos, + urls, NULL, NULL); g_free(to_name); g_free(tos); @@ -128,19 +127,19 @@ } } -void -jabber_gmail_poke(JabberStream *js, xmlnode *packet) +void +jabber_gmail_poke(JabberStream *js, xmlnode *packet) { const char *type; xmlnode *query; JabberIq *iq; - + /* bail if the user isn't interested */ if (!purple_account_get_check_mail(js->gc->account)) return; type = xmlnode_get_attrib(packet, "type"); - + /* Is this an initial incoming mail notification? If so, send a request for more info */ if (strcmp(type, "set") || !xmlnode_get_child(packet, "new-mail")) @@ -165,7 +164,7 @@ void jabber_gmail_init(JabberStream *js) { JabberIq *iq; - if (!purple_account_get_check_mail(js->gc->account)) + if (!purple_account_get_check_mail(js->gc->account)) return; iq = jabber_iq_new_query(js, JABBER_IQ_GET, "google:mail:notify"); @@ -180,7 +179,7 @@ iq = jabber_iq_new_query(js, JABBER_IQ_GET, "jabber:iq:roster"); query = xmlnode_get_child(iq->node, "query"); - + xmlnode_set_attrib(query, "xmlns:gr", "google:roster"); xmlnode_set_attrib(query, "gr:ext", "2"); @@ -218,14 +217,14 @@ const char *grt = xmlnode_get_attrib_with_namespace(item, "t", "google:roster"); const char *subscription = xmlnode_get_attrib(item, "subscription"); - + if (!subscription || !strcmp(subscription, "none")) { /* The Google Talk servers will automatically add people from your Gmail address book * with subscription=none. If we see someone with subscription=none, ignore them. */ return FALSE; } - + while (list) { if (!strcmp(jid_norm, (char*)list->data)) { on_block_list = TRUE; @@ -233,13 +232,13 @@ } list = list->next; } - + if (grt && (*grt == 'H' || *grt == 'h')) { PurpleBuddy *buddy = purple_find_buddy(account, jid_norm); purple_blist_remove_buddy(buddy); return FALSE; } - + if (!on_block_list && (grt && (*grt == 'B' || *grt == 'b'))) { purple_debug_info("jabber", "Blocking %s\n", jid_norm); purple_privacy_deny_add(account, jid_norm, TRUE); @@ -250,7 +249,7 @@ return TRUE; } -void jabber_google_roster_add_deny(PurpleConnection *gc, const char *who) +void jabber_google_roster_add_deny(PurpleConnection *gc, const char *who) { JabberStream *js; GSList *buddies; @@ -262,7 +261,7 @@ JabberBuddy *jb; js = (JabberStream*)(gc->proto_data); - + if (!js || !js->server_caps & JABBER_CAP_GOOGLE_ROSTER) return; @@ -271,11 +270,11 @@ buddies = purple_find_buddies(js->gc->account, who); if(!buddies) return; - + b = buddies->data; iq = jabber_iq_new_query(js, JABBER_IQ_SET, "jabber:iq:roster"); - + query = xmlnode_get_child(iq->node, "query"); item = xmlnode_new_child(query, "item"); @@ -287,7 +286,7 @@ group = xmlnode_new_child(item, "group"); xmlnode_insert_data(group, g->name, -1); - + buddies = buddies->next; } @@ -333,20 +332,20 @@ g_return_if_fail(gc != NULL); g_return_if_fail(who != NULL); - + js = (JabberStream*)(gc->proto_data); - + if (!js || !js->server_caps & JABBER_CAP_GOOGLE_ROSTER) return; - + buddies = purple_find_buddies(js->gc->account, who); if(!buddies) return; - + b = buddies->data; iq = jabber_iq_new_query(js, JABBER_IQ_SET, "jabber:iq:roster"); - + query = xmlnode_get_child(iq->node, "query"); item = xmlnode_new_child(query, "item"); @@ -358,7 +357,7 @@ group = xmlnode_new_child(item, "group"); xmlnode_insert_data(group, g->name, -1); - + buddies = buddies->next; } @@ -440,15 +439,15 @@ for (p = text; *p != '\0'; p = g_utf8_next_char(p)) { gunichar c = g_utf8_get_char(p); - + if (bold_count < 2 && italic_count < 2 && !in_bold && !in_italic) { g_string_append(str, p); return g_string_free(str, FALSE); } - + if (c == '*' && !in_tag) { - if (in_bold && + if (in_bold && (g_unichar_isspace(*(p+1))||*(p+1)=='<')) { /* This is safe in UTF-8 */ str = g_string_append(str, "</b>"); in_bold = FALSE; @@ -490,6 +489,6 @@ } else { str = g_string_append_unichar(str, c); } - } + } return g_string_free(str, FALSE); }
--- a/libpurple/protocols/jabber/iq.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/jabber/iq.c Thu Jun 21 20:37:57 2007 +0000 @@ -201,6 +201,29 @@ xmlnode_insert_data(xmlnode_new_child(query, "display"), date, -1); jabber_iq_send(iq); + } else { + /* XXX: error */ + } +} + +static void urn_xmpp_ping_parse(JabberStream *js, xmlnode *packet) +{ + const char *type, *id, *from; + JabberIq *iq; + + type = xmlnode_get_attrib(packet, "type"); + from = xmlnode_get_attrib(packet, "from"); + id = xmlnode_get_attrib(packet, "id"); + + if(type && !strcmp(type, "get")) { + iq = jabber_iq_new_query(js, JABBER_IQ_RESULT, "urn:xmpp:ping"); + + jabber_iq_set_id(iq, id); + xmlnode_set_attrib(iq->node, "to", from); + + jabber_iq_send(iq); + } else { + /* XXX: error */ } } @@ -232,7 +255,8 @@ query = xmlnode_get_child(iq->node, "query"); - xmlnode_insert_data(xmlnode_new_child(query, "name"), PACKAGE, -1); + /* 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); if(os) { xmlnode_insert_data(xmlnode_new_child(query, "os"), os, -1); @@ -327,6 +351,7 @@ jabber_iq_register_handler("http://jabber.org/protocol/disco#info", jabber_disco_info_parse); jabber_iq_register_handler("http://jabber.org/protocol/disco#items", jabber_disco_items_parse); jabber_iq_register_handler("jabber:iq:register", jabber_register_parse); + jabber_iq_register_handler("urn:xmpp:ping", urn_xmpp_ping_parse); } void jabber_iq_uninit(void)
--- a/libpurple/protocols/jabber/jabber.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/jabber/jabber.c Thu Jun 21 20:37:57 2007 +0000 @@ -1038,8 +1038,6 @@ void jabber_stream_set_state(JabberStream *js, JabberStreamState state) { - PurpleStoredImage *img; - js->state = state; switch(state) { case JABBER_STREAM_OFFLINE: @@ -1071,14 +1069,6 @@ break; case JABBER_STREAM_CONNECTED: - /* lets make sure our buddy icon is up to date - * before we go letting people know we're here */ - img = purple_buddy_icons_find_account_icon(js->gc->account); - if(NULL != img) { - jabber_set_buddy_icon(js->gc, img); - purple_imgstore_unref(img); - } - /* now we can alert the core that we're ready to send status */ purple_connection_set_state(js->gc, PURPLE_CONNECTED); jabber_disco_items_server(js);
--- a/libpurple/protocols/jabber/jabber.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/jabber/jabber.h Thu Jun 21 20:37:57 2007 +0000 @@ -142,11 +142,17 @@ #ifdef HAVE_CYRUS_SASL sasl_conn_t *sasl; sasl_callback_t *sasl_cb; +#else /* keep the struct the same size */ + void *sasl; + void *sasl_cb; +#endif + int sasl_state; int sasl_maxbuf; GString *sasl_mechs; char *serverFQDN; -#endif + + gboolean vcard_fetched; } JabberStream;
--- a/libpurple/protocols/jabber/jutil.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/jabber/jutil.c Thu Jun 21 20:37:57 2007 +0000 @@ -221,7 +221,7 @@ jabber_find_unnormalized_conv(const char *name, PurpleAccount *account) { PurpleConversation *c = NULL; - const GList *cnv; + GList *cnv; g_return_val_if_fail(name != NULL, NULL);
--- a/libpurple/protocols/jabber/libxmpp.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/jabber/libxmpp.c Thu Jun 21 20:37:57 2007 +0000 @@ -25,8 +25,9 @@ * share code. */ +#include "internal.h" + #include "accountopt.h" -#include "internal.h" #include "version.h" #include "iq.h" @@ -66,7 +67,7 @@ jabber_set_info, /* set_info */ jabber_send_typing, /* send_typing */ jabber_buddy_get_info, /* get_info */ - jabber_presence_send, /* set_away */ + jabber_presence_send, /* set_status */ jabber_idle_set, /* set_idle */ NULL, /* change_passwd */ jabber_roster_add_buddy, /* add_buddy */
--- a/libpurple/protocols/jabber/presence.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/jabber/presence.c Thu Jun 21 20:37:57 2007 +0000 @@ -102,6 +102,11 @@ JabberBuddyState state; int priority; + if(NULL == status) { + PurplePresence *gpresence = purple_account_get_presence(account); + status = purple_presence_get_active_status(gpresence); + } + if(!purple_status_is_active(status)) return; @@ -115,6 +120,12 @@ gc = purple_account_get_connection(account); js = gc->proto_data; + /* we don't want to send presence before we've gotten our roster */ + if(!js->roster_parsed) { + purple_debug_info("jabber", "attempt to send presence before roster retrieved\n"); + return; + } + purple_status_to_jabber(status, &state, &stripped, &priority); @@ -379,8 +390,7 @@ } else if(xmlns && !strcmp(xmlns, "vcard-temp:x:update")) { xmlnode *photo = xmlnode_get_child(y, "photo"); if(photo) { - if(avatar_hash) - g_free(avatar_hash); + g_free(avatar_hash); avatar_hash = xmlnode_get_data(photo); } } @@ -409,8 +419,7 @@ jabber_id_free(jid); g_free(status); g_free(room_jid); - if(avatar_hash) - g_free(avatar_hash); + g_free(avatar_hash); return; } @@ -426,8 +435,7 @@ jabber_id_free(jid); g_free(status); g_free(room_jid); - if(avatar_hash) - g_free(avatar_hash); + g_free(avatar_hash); return; } @@ -510,8 +518,7 @@ purple_debug_warning("jabber", "Got presence for unknown buddy %s on account %s (%x)", buddy_name, purple_account_get_username(js->gc->account), js->gc->account); jabber_id_free(jid); - if(avatar_hash) - g_free(avatar_hash); + g_free(avatar_hash); g_free(buddy_name); g_free(status); return; @@ -568,8 +575,7 @@ } g_free(status); jabber_id_free(jid); - if(avatar_hash) - g_free(avatar_hash); + g_free(avatar_hash); } void jabber_presence_subscription_set(JabberStream *js, const char *who, const char *type) @@ -608,7 +614,7 @@ formatted_msg = NULL; if(formatted_msg) - purple_markup_html_to_xhtml(formatted_msg, NULL, msg); + *msg = purple_markup_strip_html(formatted_msg); } if(priority)
--- a/libpurple/protocols/jabber/roster.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/jabber/roster.c Thu Jun 21 20:37:57 2007 +0000 @@ -153,8 +153,6 @@ if(!query) return; - js->roster_parsed = TRUE; - for(item = xmlnode_get_child(query, "item"); item; item = xmlnode_get_next_twin(item)) { const char *jid, *name, *subscription, *ask; @@ -232,6 +230,14 @@ add_purple_buddies_to_groups(js, jid, name, groups); } } + + /* if we're just now parsing the roster for the first time, + * then now would be the time to send our initial presence */ + if(!js->roster_parsed) { + js->roster_parsed = TRUE; + + jabber_presence_send(js->gc->account, NULL); + } } static void jabber_roster_update(JabberStream *js, const char *name,
--- a/libpurple/protocols/jabber/si.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/jabber/si.c Thu Jun 21 20:37:57 2007 +0000 @@ -20,9 +20,9 @@ * */ -#include "blist.h" +#include "internal.h" -#include "internal.h" +#include "blist.h" #include "cipher.h" #include "debug.h" #include "ft.h"
--- a/libpurple/protocols/jabber/xdata.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/jabber/xdata.c Thu Jun 21 20:37:57 2007 +0000 @@ -93,7 +93,7 @@ case JABBER_X_DATA_LIST_SINGLE: case JABBER_X_DATA_LIST_MULTI: { - const GList *selected = purple_request_field_list_get_selected(field); + GList *selected = purple_request_field_list_get_selected(field); char *value; fieldnode = xmlnode_new_child(result, "field"); xmlnode_set_attrib(fieldnode, "var", id);
--- a/libpurple/protocols/msn/msn.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/msn/msn.c Thu Jun 21 20:37:57 2007 +0000 @@ -1463,7 +1463,7 @@ purple_debug_info("msn", "In msn_got_info\n"); /* Make sure the connection is still valid */ - if (g_list_find((GList *)purple_connections_get_all(), info_data->gc) == NULL) + if (g_list_find(purple_connections_get_all(), info_data->gc) == NULL) { purple_debug_warning("msn", "invalid connection. ignoring buddy info.\n"); g_free(info_data->name); @@ -1883,7 +1883,7 @@ /* Make sure the connection is still valid if we got here by fetching a photo url */ if (url_text && (error_message != NULL || - g_list_find((GList *)purple_connections_get_all(), info_data->gc) == NULL)) + g_list_find(purple_connections_get_all(), info_data->gc) == NULL)) { purple_debug_warning("msn", "invalid connection. ignoring buddy photo info.\n"); g_free(stripped); @@ -1982,7 +1982,7 @@ if (acct && !purple_account_is_connected(acct)) acct = NULL; } else { /* Otherwise find an active account for the protocol */ - const GList *l = purple_accounts_get_all(); + GList *l = purple_accounts_get_all(); while (l) { if (!strcmp(prpl, purple_account_get_protocol_id(l->data)) && purple_account_is_connected(l->data)) {
--- a/libpurple/protocols/msn/notification.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/msn/notification.c Thu Jun 21 20:37:57 2007 +0000 @@ -591,12 +591,23 @@ static void qng_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) { + MsnSession *session; static int count = 0; - MsnSession *session = cmdproc->session; + const char *passport; + PurpleAccount *account; + + session = cmdproc->session; + account = session->account; if (session->passport_info.file == NULL) return; + passport = purple_normalize(account, purple_account_get_username(account)); + + if ((strstr(passport, "@hotmail.") != NULL) || + (strstr(passport, "@msn.com") != NULL)) + return; + if (count++ < 26) return;
--- a/libpurple/protocols/msn/servconn.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/msn/servconn.c Thu Jun 21 20:37:57 2007 +0000 @@ -352,7 +352,7 @@ if (ret < 0 && errno == EAGAIN) ret = 0; - if (ret < len) { + if (ret >= 0 && ret < len) { if (servconn->tx_handler == -1) servconn->tx_handler = purple_input_add( servconn->fd, PURPLE_INPUT_WRITE,
--- a/libpurple/protocols/msn/session.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/msn/session.c Thu Jun 21 20:37:57 2007 +0000 @@ -386,6 +386,7 @@ PurpleAccount *account; PurpleConnection *gc; PurpleStoredImage *img; + const char *passport; if (session->logged_in) return; @@ -409,5 +410,12 @@ * and @msn.com accounts don't automatically get the initial email * notification so we always request it on login */ - msn_cmdproc_send(session->notification->cmdproc, "URL", "%s", "INBOX"); + + passport = purple_normalize(account, purple_account_get_username(account)); + + if ((strstr(passport, "@hotmail.") != NULL) || + (strstr(passport, "@msn.com") != NULL)) + { + msn_cmdproc_send(session->notification->cmdproc, "URL", "%s", "INBOX"); + } }
--- a/libpurple/protocols/msn/switchboard.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/msn/switchboard.c Thu Jun 21 20:37:57 2007 +0000 @@ -422,7 +422,7 @@ break; case MSN_SB_ERROR_AUTHFAILED: str_reason = _("Message could not be sent " - "because we wer unable to establish a " + "because we were unable to establish a " "session with the server. This is " "likely a server problem, try again in " "a few minutes:");
--- a/libpurple/protocols/oscar/oscar.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/oscar/oscar.c Thu Jun 21 20:37:57 2007 +0000 @@ -298,7 +298,7 @@ } gchar * -oscar_encoding_to_utf8(const char *encoding, const char *text, int textlen) +oscar_encoding_to_utf8(PurpleAccount *account, const char *encoding, const char *text, int textlen) { gchar *utf8 = NULL; @@ -311,7 +311,25 @@ { utf8 = g_convert(text, textlen, "UTF-8", "Windows-1252", NULL, NULL, NULL); } else if (!g_ascii_strcasecmp(encoding, "unicode-2-0")) { - utf8 = g_convert(text, textlen, "UTF-8", "UCS-2BE", NULL, NULL, NULL); + /* Some official ICQ clients are apparently total crack, + * and have been known to save a UTF-8 string converted + * from the locale character set to UCS-2 (not from UTF-8 + * to UCS-2!) in the away message. This hack should find + * and do something (un)reasonable with that, and not + * mess up too much else. */ + const gchar *charset = purple_account_get_string(account, "encoding", NULL); + if (charset) { + gsize len; + utf8 = g_convert(text, textlen, charset, "UCS-2BE", &len, NULL, NULL); + if (!utf8 || len != textlen || !g_utf8_validate(utf8, -1, NULL)) { + g_free(utf8); + utf8 = NULL; + } else { + purple_debug_info("oscar", "Used broken ICQ fallback encoding\n"); + } + } + if (!utf8) + utf8 = g_convert(text, textlen, "UTF-8", "UCS-2BE", NULL, NULL, NULL); } else if (g_ascii_strcasecmp(encoding, "utf-8")) { purple_debug_warning("oscar", "Unrecognized character encoding \"%s\", " "attempting to convert to UTF-8 anyway\n", encoding); @@ -1774,7 +1792,7 @@ { have_status_message = TRUE; if (info->status[0] != '\0') - message = oscar_encoding_to_utf8(info->status_encoding, + message = oscar_encoding_to_utf8(account, info->status_encoding, info->status, info->status_len); } @@ -1790,7 +1808,7 @@ if ((status_id == OSCAR_STATUS_ID_AVAILABLE) && (info->itmsurl != NULL)) { char *itmsurl; - itmsurl = oscar_encoding_to_utf8(info->itmsurl_encoding, + itmsurl = oscar_encoding_to_utf8(account, info->itmsurl_encoding, info->itmsurl, info->itmsurl_len); purple_prpl_got_user_status(account, info->sn, status_id, "message", message, "itmsurl", itmsurl, NULL); @@ -1825,9 +1843,8 @@ signon = time(NULL) - info->sessionlen; if (!aim_sncmp(purple_account_get_username(account), info->sn)) { purple_connection_set_display_name(gc, info->sn); - od->timeoffset = signon - purple_presence_get_login_time(presence); - } - purple_prpl_got_user_login_time(account, info->sn, signon - od->timeoffset); + } + purple_prpl_got_user_login_time(account, info->sn, signon); /* Idle time stuff */ /* info->idletime is the number of minutes that this user has been idle */ @@ -2048,7 +2065,8 @@ { char *encoding = NULL; encoding = oscar_encoding_extract(args->encoding); - message = oscar_encoding_to_utf8(encoding, args->msg, args->msglen); + message = oscar_encoding_to_utf8(account, encoding, args->msg, + args->msglen); g_free(encoding); } else { if (g_utf8_validate(args->msg, args->msglen, NULL)) @@ -2066,7 +2084,7 @@ return 1; } encoding = args->encoding ? oscar_encoding_extract(args->encoding) : NULL; - utf8name = oscar_encoding_to_utf8(encoding, + utf8name = oscar_encoding_to_utf8(account, encoding, args->info.chat.roominfo.name, args->info.chat.roominfo.namelen); g_free(encoding); @@ -2809,6 +2827,7 @@ va_list ap; guint16 reason; char *destn; + PurpleNotifyUserInfo *user_info; va_start(ap, fr); reason = (guint16) va_arg(ap, unsigned int); @@ -2818,12 +2837,12 @@ if (destn == NULL) return 1; + user_info = purple_notify_user_info_new(); buf = g_strdup_printf(_("User information not available: %s"), (reason < msgerrreasonlen) ? _(msgerrreason[reason]) : _("Unknown reason.")); - if (!purple_conv_present_error(destn, purple_connection_get_account((PurpleConnection*)od->gc), buf)) { - g_free(buf); - buf = g_strdup_printf(_("User information for %s unavailable:"), destn); - purple_notify_error(od->gc, NULL, buf, (reason < msgerrreasonlen) ? _(msgerrreason[reason]) : _("Unknown reason.")); - } + purple_notify_user_info_add_pair(user_info, NULL, buf); + purple_notify_userinfo(od->gc, destn, user_info, NULL, NULL); + purple_notify_user_info_destroy(user_info); + purple_conv_present_error(destn, purple_connection_get_account(od->gc), buf); g_free(buf); return 1; @@ -2849,12 +2868,12 @@ g_free(tmp); if (userinfo->present & AIM_USERINFO_PRESENT_ONLINESINCE) { - time_t t = userinfo->onlinesince - od->timeoffset; + time_t t = userinfo->onlinesince; oscar_user_info_add_pair(user_info, _("Online Since"), purple_date_format_full(localtime(&t))); } if (userinfo->present & AIM_USERINFO_PRESENT_MEMBERSINCE) { - time_t t = userinfo->membersince - od->timeoffset; + time_t t = userinfo->membersince; oscar_user_info_add_pair(user_info, _("Member Since"), purple_date_format_full(localtime(&t))); } @@ -2876,12 +2895,12 @@ if ((userinfo->status != NULL) && !(userinfo->flags & AIM_FLAG_AWAY)) { if (userinfo->status[0] != '\0') - tmp = oscar_encoding_to_utf8(userinfo->status_encoding, + tmp = oscar_encoding_to_utf8(account, userinfo->status_encoding, userinfo->status, userinfo->status_len); #if defined (_WIN32) || defined (__APPLE__) if (userinfo->itmsurl && (userinfo->itmsurl[0] != '\0')) { gchar *itmsurl, *tmp2; - itmsurl = oscar_encoding_to_utf8(userinfo->itmsurl_encoding, + itmsurl = oscar_encoding_to_utf8(account, userinfo->itmsurl_encoding, userinfo->itmsurl, userinfo->itmsurl_len); tmp2 = g_strdup_printf("<a href=\"%s\">%s</a>", itmsurl, tmp); @@ -2897,7 +2916,8 @@ /* Away message */ if ((userinfo->flags & AIM_FLAG_AWAY) && (userinfo->away_len > 0) && (userinfo->away != NULL) && (userinfo->away_encoding != NULL)) { tmp = oscar_encoding_extract(userinfo->away_encoding); - away_utf8 = oscar_encoding_to_utf8(tmp, userinfo->away, userinfo->away_len); + away_utf8 = oscar_encoding_to_utf8(account, tmp, userinfo->away, + userinfo->away_len); g_free(tmp); if (away_utf8 != NULL) { tmp = purple_str_sub_away_formatters(away_utf8, purple_account_get_username(account)); @@ -2911,7 +2931,8 @@ /* Info */ if ((userinfo->info_len > 0) && (userinfo->info != NULL) && (userinfo->info_encoding != NULL)) { tmp = oscar_encoding_extract(userinfo->info_encoding); - info_utf8 = oscar_encoding_to_utf8(tmp, userinfo->info, userinfo->info_len); + info_utf8 = oscar_encoding_to_utf8(account, tmp, userinfo->info, + userinfo->info_len); g_free(tmp); if (info_utf8 != NULL) { tmp = purple_str_sub_away_formatters(info_utf8, purple_account_get_username(account)); @@ -2931,6 +2952,7 @@ static int purple_got_infoblock(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { PurpleConnection *gc = od->gc; + PurpleAccount *account = purple_connection_get_account(gc); PurpleBuddy *b; PurplePresence *presence; PurpleStatus *status; @@ -2943,7 +2965,7 @@ userinfo = va_arg(ap, aim_userinfo_t *); va_end(ap); - b = purple_find_buddy(purple_connection_get_account(gc), userinfo->sn); + b = purple_find_buddy(account, userinfo->sn); if (b == NULL) return 1; @@ -2963,7 +2985,9 @@ if ((userinfo->flags & AIM_FLAG_AWAY) && (userinfo->away_len > 0) && (userinfo->away != NULL) && (userinfo->away_encoding != NULL)) { gchar *charset = oscar_encoding_extract(userinfo->away_encoding); - message = oscar_encoding_to_utf8(charset, userinfo->away, userinfo->away_len); + message = oscar_encoding_to_utf8(account, charset, + userinfo->away, + userinfo->away_len); g_free(charset); purple_status_set_attr_string(status, "message", message); g_free(message); @@ -3159,6 +3183,7 @@ static int purple_conv_chat_incoming_msg(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { PurpleConnection *gc = od->gc; + PurpleAccount *account = purple_connection_get_account(gc); struct chat_connection *ccon = find_oscar_chat_by_conn(gc, conn); gchar *utf8; va_list ap; @@ -3177,7 +3202,7 @@ charset = va_arg(ap, char *); va_end(ap); - utf8 = oscar_encoding_to_utf8(charset, msg, len); + utf8 = oscar_encoding_to_utf8(account, charset, msg, len); if (utf8 == NULL) /* The conversion failed! */ utf8 = g_strdup(_("[Unable to display a message from this user because it contained invalid characters.]")); @@ -4167,6 +4192,7 @@ PeerConnection *conn; int ret; char *tmp1, *tmp2; + gboolean is_html; od = (OscarData *)gc->proto_data; account = purple_connection_get_account(gc); @@ -4185,7 +4211,6 @@ } else { struct buddyinfo *bi; struct aim_sendimext_args args; - gsize len; PurpleConversation *conv; PurpleStoredImage *img; @@ -4276,22 +4301,43 @@ if (aim_sn_is_sms(name)) { /* Messaging an SMS (mobile) user */ tmp2 = purple_markup_strip_html(tmp1); + is_html = FALSE; } else if (aim_sn_is_icq(purple_account_get_username(account))) { - if (aim_sn_is_icq(name)) + if (aim_sn_is_icq(name)) { /* From ICQ to ICQ */ tmp2 = purple_markup_strip_html(tmp1); - else + is_html = FALSE; + } else { /* From ICQ to AIM */ tmp2 = g_strdup(tmp1); + is_html = TRUE; + } } else { /* From AIM to AIM and AIM to ICQ */ tmp2 = g_strdup(tmp1); + is_html = TRUE; } g_free(tmp1); tmp1 = tmp2; - len = strlen(tmp1); purple_plugin_oscar_convert_to_best_encoding(gc, name, tmp1, (char **)&args.msg, &args.msglen, &args.charset, &args.charsubset); + if (is_html && (args.msglen > MAXMSGLEN)) { + /* If the length was too long, try stripping the HTML and then running it back through + * purple_strdup_withhtml() and the encoding process. The result may be shorter. */ + g_free((char *)args.msg); + + tmp2 = purple_markup_strip_html(tmp1); + g_free(tmp1); + + tmp1 = purple_strdup_withhtml(tmp2); + g_free(tmp2); + + purple_plugin_oscar_convert_to_best_encoding(gc, name, tmp1, (char **)&args.msg, &args.msglen, &args.charset, &args.charsubset); + + purple_debug_info("oscar", "Sending %s as %s because the original was too long.", + message, (char *)args.msg); + } + purple_debug_info("oscar", "Sending IM, charset=0x%04hx, charsubset=0x%04hx, length=%d\n", args.charset, args.charsubset, args.msglen); ret = aim_im_sendch1_ext(od, &args); @@ -5323,7 +5369,7 @@ OscarData *od = (OscarData *)gc->proto_data; PurpleConversation *conv = NULL; struct chat_connection *c = NULL; - char *buf, *buf2; + char *buf, *buf2, *buf3; guint16 charset, charsubset; char *charsetstr = NULL; int len; @@ -5335,7 +5381,6 @@ return -EINVAL; buf = purple_strdup_withhtml(message); - len = strlen(buf); if (strstr(buf, "<IMG ")) purple_conversation_write(conv, "", @@ -5349,8 +5394,28 @@ * visible characters" and not "number of bytes" */ if ((len > c->maxlen) || (len > c->maxvis)) { + /* If the length was too long, try stripping the HTML and then running it back through + * purple_strdup_withhtml() and the encoding process. The result may be shorter. */ g_free(buf2); - return -E2BIG; + + buf3 = purple_markup_strip_html(buf); + g_free(buf); + + buf = purple_strdup_withhtml(buf3); + g_free(buf3); + + purple_plugin_oscar_convert_to_best_encoding(gc, NULL, buf, &buf2, &len, &charset, &charsubset); + + if ((len > c->maxlen) || (len > c->maxvis)) { + purple_debug_warning("oscar", "Could not send %s because (%i > maxlen %i) or (%i > maxvis %i)", + buf2, len, c->maxlen, len, c->maxvis); + g_free(buf); + g_free(buf2); + return -E2BIG; + } + + purple_debug_info("oscar", "Sending %s as %s because the original was too long.", + message, buf2); } if (charset == AIM_CHARSET_ASCII) @@ -5361,6 +5426,7 @@ charsetstr = "iso-8859-1"; aim_chat_send_im(od, c->conn, 0, buf2, len, charsetstr, "en"); g_free(buf2); + g_free(buf); return 0; } @@ -5507,7 +5573,7 @@ status = purple_presence_get_active_status(presence); id = purple_status_get_id(status); - if (!purple_presence_is_online(presence)) + if ((od != NULL) && !purple_presence_is_online(presence)) { char *gname = aim_ssi_itemlist_findparentname(od->ssi.local, b->name); if (aim_ssi_waitingforauth(od->ssi.local, gname, b->name)) @@ -6493,7 +6559,7 @@ if (acct && !purple_account_is_connected(acct)) acct = NULL; } else { /* Otherwise find an active account for the protocol */ - const GList *l = purple_accounts_get_all(); + GList *l = purple_accounts_get_all(); while (l) { if (!strcmp(prpl, purple_account_get_protocol_id(l->data)) && purple_account_is_connected(l->data)) {
--- a/libpurple/protocols/oscar/oscar.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/oscar/oscar.h Thu Jun 21 20:37:57 2007 +0000 @@ -447,7 +447,6 @@ guint icontimer; guint getblisttimer; guint getinfotimer; - gint timeoffset; struct { guint maxwatchers; /* max users who can watch you */ @@ -935,7 +934,7 @@ /* 0x0014 */ int aim_im_sendmtn(OscarData *od, guint16 type1, const char *sn, guint16 type2); void aim_icbm_makecookie(guchar* cookie); gchar *oscar_encoding_extract(const char *encoding); -gchar *oscar_encoding_to_utf8(const char *encoding, const char *text, int textlen); +gchar *oscar_encoding_to_utf8(PurpleAccount *account, const char *encoding, const char *text, int textlen); gchar *purple_plugin_oscar_decode_im_part(PurpleAccount *account, const char *sourcesn, guint16 charset, guint16 charsubset, const gchar *data, gsize datalen);
--- a/libpurple/protocols/qq/Makefile.am Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/Makefile.am Thu Jun 21 20:37:57 2007 +0000 @@ -34,8 +34,6 @@ group_info.h \ group_join.c \ group_join.h \ - group_misc.c \ - group_misc.h \ group_network.c \ group_network.h \ group_opt.c \
--- a/libpurple/protocols/qq/buddy_list.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/buddy_list.c Thu Jun 21 20:37:57 2007 +0000 @@ -23,8 +23,10 @@ */ #include <string.h> + +#include "qq.h" + #include "debug.h" - #include "notify.h" #include "utils.h" #include "packet_parse.h" @@ -35,9 +37,8 @@ #include "char_conv.h" #include "crypt.h" #include "header_info.h" -#include "keep_alive.h" +#include "keep_alive.h" #include "send_core.h" -#include "qq.h" #include "group.h" #include "group_find.h" #include "group_internal.h"
--- a/libpurple/protocols/qq/buddy_status.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/buddy_status.c Thu Jun 21 20:37:57 2007 +0000 @@ -23,6 +23,7 @@ */ #include <string.h> +#include "internal.h" #include "debug.h" #include "prefs.h"
--- a/libpurple/protocols/qq/file_trans.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/file_trans.c Thu Jun 21 20:37:57 2007 +0000 @@ -26,6 +26,8 @@ #define random rand #endif +#include "internal.h" + #include "debug.h" #include "ft.h" #include "cipher.h"
--- a/libpurple/protocols/qq/group_conv.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/group_conv.c Thu Jun 21 20:37:57 2007 +0000 @@ -23,11 +23,12 @@ */ #include <glib.h> +#include "qq.h" + #include "conversation.h" #include "buddy_status.h" #include "group_conv.h" -#include "qq.h" #include "utils.h" /* show group conversation window */
--- a/libpurple/protocols/qq/group_find.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/group_find.c Thu Jun 21 20:37:57 2007 +0000 @@ -22,13 +22,14 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "qq.h" + #include "conversation.h" #include "debug.h" #include "util.h" #include "group_find.h" #include "group_network.h" -#include "qq.h" #include "utils.h" /* find the internal_group_id by the reply packet sequence
--- a/libpurple/protocols/qq/group_free.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/group_free.c Thu Jun 21 20:37:57 2007 +0000 @@ -22,6 +22,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "internal.h" + #include "debug.h" #include "buddy_status.h"
--- a/libpurple/protocols/qq/group_im.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/group_im.c Thu Jun 21 20:37:57 2007 +0000 @@ -22,6 +22,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "internal.h" + #include "conversation.h" #include "debug.h" #include "notify.h" @@ -341,7 +343,7 @@ read_packet_dw(data, cursor, data_len, &(im_group->member_uid)); read_packet_w(data, cursor, data_len, &unknown); /* 0x0001? */ read_packet_w(data, cursor, data_len, &(im_group->msg_seq)); - read_packet_dw(data, cursor, data_len, (guint32 *) & (im_group->send_time)); + read_packet_time(data, cursor, data_len, &im_group->send_time); read_packet_dw(data, cursor, data_len, &unknown4); /* versionID */ /* * length includes font_attr
--- a/libpurple/protocols/qq/group_info.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/group_info.c Thu Jun 21 20:37:57 2007 +0000 @@ -22,6 +22,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "internal.h" + #include "conversation.h" #include "debug.h"
--- a/libpurple/protocols/qq/group_internal.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/group_internal.c Thu Jun 21 20:37:57 2007 +0000 @@ -22,13 +22,13 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "internal.h" #include "blist.h" #include "debug.h" #include "buddy_opt.h" #include "group_free.h" #include "group_internal.h" -#include "group_misc.h" #include "utils.h" static gchar *_qq_group_set_my_status_desc(qq_group *group)
--- a/libpurple/protocols/qq/group_join.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/group_join.c Thu Jun 21 20:37:57 2007 +0000 @@ -22,6 +22,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "internal.h" + #include "debug.h" #include "notify.h" #include "request.h"
--- a/libpurple/protocols/qq/group_misc.c Tue Jun 19 19:40:06 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -/** - * @file group_misc.c - * - * purple - * - * Purple is the legal property of its developers, whose names are too numerous - * to list here. Please refer to the COPYRIGHT file distributed with this - * source distribution. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include "debug.h" - -#include "buddy_status.h" -#include "group_misc.h" -#include "utils.h"
--- a/libpurple/protocols/qq/group_misc.h Tue Jun 19 19:40:06 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ -/** - * @file group_misc.h - * - * purple - * - * Purple is the legal property of its developers, whose names are too numerous - * to list here. Please refer to the COPYRIGHT file distributed with this - * source distribution. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef _QQ_GROUP_MISC_H_ -#define _QQ_GROUP_MISC_H_ - -#include <glib.h> -#include "group.h" - -#endif
--- a/libpurple/protocols/qq/group_network.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/group_network.c Thu Jun 21 20:37:57 2007 +0000 @@ -22,6 +22,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "internal.h" + #include "debug.h" #include "notify.h"
--- a/libpurple/protocols/qq/group_opt.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/group_opt.c Thu Jun 21 20:37:57 2007 +0000 @@ -22,6 +22,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "qq.h" + #include "debug.h" #include "notify.h" #include "request.h" @@ -35,7 +37,6 @@ #include "group_network.h" #include "group_opt.h" #include "packet_parse.h" -#include "qq.h" #include "utils.h" /* TODO: can't we use qsort here? */
--- a/libpurple/protocols/qq/group_search.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/group_search.c Thu Jun 21 20:37:57 2007 +0000 @@ -22,6 +22,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "internal.h" + #include "debug.h" #include "char_conv.h"
--- a/libpurple/protocols/qq/header_info.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/header_info.c Thu Jun 21 20:37:57 2007 +0000 @@ -22,6 +22,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "internal.h" + #include "header_info.h" #define QQ_CLIENT_062E 0x062e /* GB QQ2000c build 0630 */
--- a/libpurple/protocols/qq/header_info.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/header_info.h Thu Jun 21 20:37:57 2007 +0000 @@ -33,7 +33,7 @@ #define QQ_PACKET_TAG 0x02 /* all QQ text packets starts with it */ #define QQ_PACKET_TAIL 0x03 /* all QQ text packets end with it */ -#define QQ_CLIENT 0x0f15 +#define QQ_CLIENT 0x0E1B /* list of known QQ commands */ enum {
--- a/libpurple/protocols/qq/im.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/im.c Thu Jun 21 20:37:57 2007 +0000 @@ -22,6 +22,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "internal.h" + #include "conversation.h" #include "debug.h" #include "internal.h"
--- a/libpurple/protocols/qq/keep_alive.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/keep_alive.c Thu Jun 21 20:37:57 2007 +0000 @@ -28,6 +28,8 @@ * Puzzlebird, Nov-Dec 2002 */ +#include "internal.h" + #include "debug.h" #include "server.h"
--- a/libpurple/protocols/qq/login_logout.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/login_logout.c Thu Jun 21 20:37:57 2007 +0000 @@ -181,7 +181,7 @@ /* 031-032: server listening port */ bytes += read_packet_w(data, &cursor, len, &lrop.server_port); /* 033-036: login time for current session */ - bytes += read_packet_dw(data, &cursor, len, (guint32 *) &lrop.login_time); + bytes += read_packet_time(data, &cursor, len, &lrop.login_time); /* 037-062: 26 bytes, unknown */ bytes += read_packet_data(data, &cursor, len, (guint8 *) &lrop.unknown1, 26); /* 063-066: unknown server1 ip address */ @@ -203,7 +203,7 @@ /* 123-126: login IP of last session */ bytes += read_packet_data(data, &cursor, len, (guint8 *) &lrop.last_client_ip, 4); /* 127-130: login time of last session */ - bytes += read_packet_dw(data, &cursor, len, (guint32 *) &lrop.last_login_time); + bytes += read_packet_time(data, &cursor, len, &lrop.last_login_time); /* 131-138: 8 bytes unknown */ bytes += read_packet_data(data, &cursor, len, (guint8 *) &lrop.unknown6, 8);
--- a/libpurple/protocols/qq/packet_parse.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/packet_parse.c Thu Jun 21 20:37:57 2007 +0000 @@ -65,6 +65,19 @@ } } +/* read four bytes as "time_t" from buf, + * return the number of bytes read if succeeds, otherwise return -1 + * This function is a wrapper around read_packet_dw() to avoid casting. */ +gint read_packet_time(guint8 *buf, guint8 **cursor, gint buflen, time_t *t) +{ + guint32 time; + gint ret = read_packet_dw(buf, cursor, buflen, &time); + if (ret != -1 ) { + *t = time; + } + return ret; +} + /* read datalen bytes from buf, * return the number of bytes read if succeeds, otherwise return -1 */ gint read_packet_data(guint8 *buf, guint8 **cursor, gint buflen, guint8 *data, gint datalen) {
--- a/libpurple/protocols/qq/packet_parse.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/packet_parse.h Thu Jun 21 20:37:57 2007 +0000 @@ -26,6 +26,7 @@ #define _QQ_PACKED_PARSE_H_ #include <glib.h> +#include <time.h> /* According to "UNIX Network Programming", all TCP/IP implementations * must support a minimum IP datagram size of 576 bytes, regardless of the MTU. @@ -39,6 +40,7 @@ gint read_packet_b(guint8 *buf, guint8 **cursor, gint buflen, guint8 *b); gint read_packet_w(guint8 *buf, guint8 **cursor, gint buflen, guint16 *w); gint read_packet_dw(guint8 *buf, guint8 **cursor, gint buflen, guint32 *dw); +gint read_packet_time(guint8 *buf, guint8 **cursor, gint buflen, time_t *t); gint read_packet_data(guint8 *buf, guint8 **cursor, gint buflen, guint8 *data, gint datalen); gint create_packet_b(guint8 *buf, guint8 **cursor, guint8 b); gint create_packet_w(guint8 *buf, guint8 **cursor, guint16 w);
--- a/libpurple/protocols/qq/qq.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/qq.h Thu Jun 21 20:37:57 2007 +0000 @@ -26,8 +26,8 @@ #define _QQ_QQ_H_ #include <glib.h> +#include "internal.h" #include "ft.h" -#include "internal.h" #include "proxy.h" #include "roomlist.h"
--- a/libpurple/protocols/qq/send_file.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/send_file.c Thu Jun 21 20:37:57 2007 +0000 @@ -22,6 +22,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "qq.h" + #include "send_file.h" #include "debug.h" #include "network.h" @@ -34,7 +36,6 @@ #include "im.h" #include "keep_alive.h" #include "packet_parse.h" -#include "qq.h" #include "send_core.h" #include "utils.h"
--- a/libpurple/protocols/qq/sendqueue.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/qq/sendqueue.c Thu Jun 21 20:37:57 2007 +0000 @@ -22,9 +22,10 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "internal.h" + #include "connection.h" #include "debug.h" -#include "internal.h" #include "notify.h" #include "prefs.h" #include "request.h"
--- a/libpurple/protocols/sametime/sametime.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/sametime/sametime.c Thu Jun 21 20:37:57 2007 +0000 @@ -2660,7 +2660,7 @@ GString *str; PurpleMimeDocument *doc; - const GList *parts; + GList *parts; img_by_cid = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL); images = NULL; @@ -3401,7 +3401,7 @@ static void conf_select_prompt_invite(PurpleBuddy *buddy, PurpleRequestFields *fields) { PurpleRequestField *f; - const GList *l; + GList *l; const char *msg; f = purple_request_fields_get_field(fields, CHAT_KEY_INVITE); @@ -5268,7 +5268,7 @@ PurpleRequestFields *fields) { PurpleRequestField *f; - const GList *l; + GList *l; f = purple_request_fields_get_field(fields, "group"); l = purple_request_field_list_get_items(f); @@ -5334,7 +5334,7 @@ static void remote_group_multi_cb(struct mwPurplePluginData *pd, PurpleRequestFields *fields) { PurpleRequestField *f; - const GList *l; + GList *l; f = purple_request_fields_get_field(fields, "group"); l = purple_request_field_list_get_selected(f);
--- a/libpurple/protocols/silc/buddy.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/silc/buddy.c Thu Jun 21 20:37:57 2007 +0000 @@ -1117,7 +1117,7 @@ silcpurple_add_buddy_select_cb(SilcPurpleBuddyRes r, PurpleRequestFields *fields) { PurpleRequestField *f; - const GList *list; + GList *list; SilcClientEntry client_entry; SilcDList clients;
--- a/libpurple/protocols/silc/chat.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/silc/chat.c Thu Jun 21 20:37:57 2007 +0000 @@ -291,7 +291,7 @@ SilcClient client = sg->client; SilcClientConnection conn = sg->conn; PurpleRequestField *f; - const GList *list; + GList *list; SilcPublicKey public_key; SilcBuffer chpks, pk, chidp; SilcUInt16 c = 0, ct;
--- a/libpurple/protocols/silc/ft.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/silc/ft.c Thu Jun 21 20:37:57 2007 +0000 @@ -111,7 +111,7 @@ } else if (error == SILC_CLIENT_FILE_TIMEOUT) { purple_notify_error(gc, _("Secure File Transfer"), _("Error during file transfer"), - _("Connection timedout")); + _("Connection timed out")); } else if (error == SILC_CLIENT_FILE_CONNECT_FAILED) { purple_notify_error(gc, _("Secure File Transfer"), _("Error during file transfer"),
--- a/libpurple/protocols/silc10/buddy.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/silc10/buddy.c Thu Jun 21 20:37:57 2007 +0000 @@ -1118,7 +1118,7 @@ silcpurple_add_buddy_select_cb(SilcPurpleBuddyRes r, PurpleRequestFields *fields) { PurpleRequestField *f; - const GList *list; + GList *list; SilcClientEntry client_entry; f = purple_request_fields_get_field(fields, "list");
--- a/libpurple/protocols/silc10/chat.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/silc10/chat.c Thu Jun 21 20:37:57 2007 +0000 @@ -278,7 +278,7 @@ SilcClient client = sg->client; SilcClientConnection conn = sg->conn; PurpleRequestField *f; - const GList *list; + GList *list; SilcPublicKey public_key; SilcBuffer chpks, pk, chidp; SilcUInt16 c = 0, ct;
--- a/libpurple/protocols/yahoo/yahoo.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/yahoo/yahoo.c Thu Jun 21 20:37:57 2007 +0000 @@ -3861,7 +3861,7 @@ if (acct && !purple_account_is_connected(acct)) acct = NULL; } else { /* Otherwise find an active account for the protocol */ - const GList *l = purple_accounts_get_all(); + GList *l = purple_accounts_get_all(); while (l) { if (!strcmp(prpl, purple_account_get_protocol_id(l->data)) && purple_account_is_connected(l->data)) {
--- a/libpurple/protocols/yahoo/yahoo_auth.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/yahoo/yahoo_auth.c Thu Jun 21 20:37:57 2007 +0000 @@ -7,6 +7,8 @@ * */ +#include "internal.h" + #include "yahoo.h" #include "yahoo_auth.h"
--- a/libpurple/protocols/yahoo/yahoo_doodle.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/yahoo/yahoo_doodle.c Thu Jun 21 20:37:57 2007 +0000 @@ -491,7 +491,8 @@ /* g_debug_debug("yahoo", "doodle: yahoo_doodle_end()\n"); */ - yahoo_doodle_command_send_shutdown(gc, wb->who); + if (gc) + yahoo_doodle_command_send_shutdown(gc, wb->who); g_free(wb->proto_data); }
--- a/libpurple/protocols/yahoo/yahoo_filexfer.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/yahoo/yahoo_filexfer.c Thu Jun 21 20:37:57 2007 +0000 @@ -20,8 +20,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "internal.h" + #include "prpl.h" -#include "internal.h" #include "util.h" #include "debug.h" #include "notify.h"
--- a/libpurple/protocols/yahoo/yahoochat.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/yahoo/yahoochat.c Thu Jun 21 20:37:57 2007 +0000 @@ -26,6 +26,8 @@ * */ +#include "internal.h" + #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -37,7 +39,6 @@ #include "conversation.h" #include "notify.h" #include "util.h" -#include "internal.h" #include "yahoo.h" #include "yahoo_packet.h" @@ -633,10 +634,10 @@ * I think conference names are always ascii. */ -void yahoo_conf_leave(struct yahoo_data *yd, const char *room, const char *dn, const GList *who) +void yahoo_conf_leave(struct yahoo_data *yd, const char *room, const char *dn, GList *who) { struct yahoo_packet *pkt; - const GList *w; + GList *w; purple_debug_misc("yahoo", "leaving conference %s\n", room); @@ -653,11 +654,11 @@ } static int yahoo_conf_send(PurpleConnection *gc, const char *dn, const char *room, - const GList *members, const char *what) + GList *members, const char *what) { struct yahoo_data *yd = gc->proto_data; struct yahoo_packet *pkt; - const GList *who; + GList *who; char *msg, *msg2; int utf8 = 1; @@ -714,7 +715,7 @@ { struct yahoo_data *yd = gc->proto_data; struct yahoo_packet *pkt; - const GList *members; + GList *members; char *msg2 = NULL; if (msg)
--- a/libpurple/protocols/yahoo/yahoochat.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/yahoo/yahoochat.h Thu Jun 21 20:37:57 2007 +0000 @@ -50,7 +50,7 @@ char *yahoo_get_chat_name(GHashTable *data); void yahoo_c_invite(PurpleConnection *gc, int id, const char *msg, const char *name); -void yahoo_conf_leave(struct yahoo_data *yd, const char *room, const char *dn, const GList *who); +void yahoo_conf_leave(struct yahoo_data *yd, const char *room, const char *dn, GList *who); void yahoo_chat_goto(PurpleConnection *gc, const char *name);
--- a/libpurple/protocols/zephyr/ZLocations.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/zephyr/ZLocations.c Thu Jun 21 20:37:57 2007 +0000 @@ -36,7 +36,8 @@ return (Z_SendLocation(LOGIN_CLASS, LOGIN_USER_FLUSH, ZAUTH, "")); } -static char host[MAXHOSTNAMELEN], mytty[MAXPATHLEN]; +static char host[MAXHOSTNAMELEN]; +static char *mytty = NULL; static int reenter = 0; Code_t Z_SendLocation(class, opcode, auth, format) @@ -87,21 +88,20 @@ } #ifndef X_DISPLAY_MISSING if ((display = getenv("DISPLAY")) && *display) { - (void) strncpy(mytty, display, sizeof(mytty)); + mytty = g_strdup(display); } else { #endif #ifdef WIN32 - strncpy(mytty, "WinPurple", sizeof(mytty)); + mytty = g_strdup("WinPurple"); #else ttyp = ttyname(0); if (ttyp && *ttyp) { p = strchr(ttyp + 1, '/'); - strcpy(mytty, (p) ? p + 1 : ttyp); + mytty = g_strdup((p) ? p + 1 : ttyp); } else { - strncpy(mytty, "unknown", sizeof(mytty)); + mytty = g_strdup("unknown"); } #endif - mytty[sizeof(mytty)-1] = '\0'; #ifndef X_DISPLAY_MISSING } #endif @@ -114,7 +114,6 @@ bptr[1][strlen(bptr[1])-1] = '\0'; bptr[2] = mytty; - if ((retval = ZSendList(¬ice, bptr, 3, auth)) != ZERR_NONE) return (retval);
--- a/libpurple/protocols/zephyr/ZVariables.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/protocols/zephyr/ZVariables.c Thu Jun 21 20:37:57 2007 +0000 @@ -9,6 +9,7 @@ * "mit-copyright.h". */ +#include "libpurple/internal.h" #include "internal.h" #include "util.h"
--- a/libpurple/prpl.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/prpl.c Thu Jun 21 20:37:57 2007 +0000 @@ -83,44 +83,50 @@ purple_prpl_got_user_idle(PurpleAccount *account, const char *name, gboolean idle, time_t idle_time) { - PurpleBuddy *buddy; PurplePresence *presence; + GSList *list; g_return_if_fail(account != NULL); g_return_if_fail(name != NULL); g_return_if_fail(purple_account_is_connected(account)); - if ((buddy = purple_find_buddy(account, name)) == NULL) + if ((list = purple_find_buddies(account, name)) == NULL) return; - presence = purple_buddy_get_presence(buddy); - - purple_presence_set_idle(presence, idle, idle_time); + while (list) { + presence = purple_buddy_get_presence(list->data); + list = g_slist_delete_link(list, list); + purple_presence_set_idle(presence, idle, idle_time); + } } void purple_prpl_got_user_login_time(PurpleAccount *account, const char *name, time_t login_time) { - PurpleBuddy *buddy; + GSList *list; PurplePresence *presence; g_return_if_fail(account != NULL); g_return_if_fail(name != NULL); - if ((buddy = purple_find_buddy(account, name)) == NULL) + if ((list = purple_find_buddies(account, name)) == NULL) return; if (login_time == 0) login_time = time(NULL); - presence = purple_buddy_get_presence(buddy); + while (list) { + PurpleBuddy *buddy = list->data; + presence = purple_buddy_get_presence(buddy); + list = g_slist_delete_link(list, list); - if (purple_presence_get_login_time(presence) != login_time) - { - purple_presence_set_login_time(presence, login_time); + if (purple_presence_get_login_time(presence) != login_time) + { + purple_presence_set_login_time(presence, login_time); - purple_signal_emit(purple_blist_get_handle(), "buddy-got-login-time", buddy); + purple_signal_emit(purple_blist_get_handle(), "buddy-got-login-time", buddy); + } } } @@ -259,7 +265,7 @@ purple_prpl_get_statuses(PurpleAccount *account, PurplePresence *presence) { GList *statuses = NULL; - const GList *l; + GList *l; PurpleStatus *status; g_return_val_if_fail(account != NULL, NULL);
--- a/libpurple/prpl.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/prpl.h Thu Jun 21 20:37:57 2007 +0000 @@ -378,7 +378,7 @@ * beginning with the value for @a attr_id. */ void purple_prpl_got_account_status(PurpleAccount *account, - const char *status_id, ...); + const char *status_id, ...) G_GNUC_NULL_TERMINATED; /** * Notifies Purple that a user's idle state and time have changed. * @@ -418,7 +418,7 @@ * beginning with the value for @a attr_id. */ void purple_prpl_got_user_status(PurpleAccount *account, const char *name, - const char *status_id, ...); + const char *status_id, ...) G_GNUC_NULL_TERMINATED; /** * Notifies libpurple that a user's status has been deactivated
--- a/libpurple/request.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/request.c Thu Jun 21 20:37:57 2007 +0000 @@ -22,6 +22,8 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "internal.h" + #include "notify.h" #include "request.h" #include "debug.h" @@ -111,7 +113,7 @@ return (g_hash_table_lookup(fields->fields, id) != NULL); } -const GList * +GList * purple_request_fields_get_required(const PurpleRequestFields *fields) { g_return_val_if_fail(fields != NULL, NULL); @@ -872,9 +874,9 @@ } void -purple_request_field_list_set_selected(PurpleRequestField *field, const GList *items) +purple_request_field_list_set_selected(PurpleRequestField *field, GList *items) { - const GList *l; + GList *l; g_return_if_fail(field != NULL); g_return_if_fail(items != NULL); @@ -883,7 +885,7 @@ purple_request_field_list_clear_selected(field); if (!purple_request_field_list_get_multi_select(field) && - g_list_length((GList*)items) > 1) + g_list_length(items) > 1) { purple_debug_warning("request", "More than one item added to non-multi-select " @@ -913,7 +915,7 @@ item, NULL, NULL); } -const GList * +GList * purple_request_field_list_get_selected(const PurpleRequestField *field) { g_return_val_if_fail(field != NULL, NULL); @@ -922,7 +924,7 @@ return field->u.list.selected; } -const GList * +GList * purple_request_field_list_get_items(const PurpleRequestField *field) { g_return_val_if_fail(field != NULL, NULL);
--- a/libpurple/request.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/request.h Thu Jun 21 20:37:57 2007 +0000 @@ -285,9 +285,9 @@ * * @param fields The fields list. * - * @return The list of required fields. + * @constreturn The list of required fields. */ -const GList *purple_request_fields_get_required(const PurpleRequestFields *fields); +GList *purple_request_fields_get_required(const PurpleRequestFields *fields); /** * Returns whether or not a field with the specified ID is required. @@ -917,10 +917,10 @@ * Sets a list of selected items in a list field. * * @param field The field. - * @param items The list of selected items. + * @param items The list of selected items, which is not modified or freed. */ void purple_request_field_list_set_selected(PurpleRequestField *field, - const GList *items); + GList *items); /** * Returns whether or not a particular item is selected in a list field. @@ -941,9 +941,9 @@ * * @param field The field. * - * @return The list of selected items. + * @constreturn The list of selected items. */ -const GList *purple_request_field_list_get_selected( +GList *purple_request_field_list_get_selected( const PurpleRequestField *field); /** @@ -951,9 +951,9 @@ * * @param field The field. * - * @return The list of items. + * @constreturn The list of items. */ -const GList *purple_request_field_list_get_items(const PurpleRequestField *field); +GList *purple_request_field_list_get_items(const PurpleRequestField *field); /*@}*/ @@ -1228,7 +1228,7 @@ const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, PurpleAccount *account, const char *who, PurpleConversation *conv, - void *user_data, ...); + void *user_data, ...) G_GNUC_NULL_TERMINATED; /** * Prompts the user for multiple-choice input.
--- a/libpurple/roomlist.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/roomlist.c Thu Jun 21 20:37:57 2007 +0000 @@ -25,6 +25,8 @@ #include <glib.h> +#include "internal.h" + #include "account.h" #include "connection.h" #include "debug.h"
--- a/libpurple/savedstatuses.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/savedstatuses.c Thu Jun 21 20:37:57 2007 +0000 @@ -29,6 +29,7 @@ #include "notify.h" #include "savedstatuses.h" #include "dbus-maybe.h" +#include "request.h" #include "status.h" #include "util.h" #include "xmlnode.h" @@ -110,6 +111,7 @@ g_return_if_fail(substatus != NULL); g_free(substatus->message); + purple_request_close_with_handle(substatus); PURPLE_DBUS_UNREGISTER_POINTER(substatus); g_free(substatus); } @@ -128,7 +130,7 @@ status->substatuses = g_list_remove(status->substatuses, substatus); free_saved_status_sub(substatus); } - + purple_request_close_with_handle(status); PURPLE_DBUS_UNREGISTER_POINTER(status); g_free(status); } @@ -569,6 +571,9 @@ schedule_save(); + purple_signal_emit(purple_savedstatuses_get_handle(), "savedstatus-added", + status); + return status; } @@ -584,6 +589,9 @@ status->title = g_strdup(title); schedule_save(); + + purple_signal_emit(purple_savedstatuses_get_handle(), + "savedstatus-modified", status); } void @@ -594,6 +602,8 @@ status->type = type; schedule_save(); + purple_signal_emit(purple_savedstatuses_get_handle(), + "savedstatus-modified", status); } void @@ -608,6 +618,9 @@ status->message = g_strdup(message); schedule_save(); + + purple_signal_emit(purple_savedstatuses_get_handle(), + "savedstatus-modified", status); } void @@ -637,6 +650,8 @@ substatus->message = g_strdup(message); schedule_save(); + purple_signal_emit(purple_savedstatuses_get_handle(), + "savedstatus-modified", saved_status); } void @@ -660,6 +675,9 @@ return; } } + + purple_signal_emit(purple_savedstatuses_get_handle(), + "savedstatus-modified", saved_status); } /* @@ -683,16 +701,12 @@ } } -gboolean -purple_savedstatus_delete(const char *title) +void +purple_savedstatus_delete_by_status(PurpleSavedStatus *status) { - PurpleSavedStatus *status; time_t creation_time, current, idleaway; - status = purple_savedstatus_find(title); - - if (status == NULL) - return FALSE; + g_return_if_fail(status != NULL); saved_statuses = g_list_remove(saved_statuses, status); creation_time = purple_savedstatus_get_creation_time(status); @@ -713,10 +727,29 @@ if (idleaway == creation_time) purple_prefs_set_int("/purple/savedstatus/idleaway", 0); + purple_signal_emit(purple_savedstatuses_get_handle(), + "savedstatus-deleted", status); +} + +gboolean +purple_savedstatus_delete(const char *title) +{ + PurpleSavedStatus *status; + + status = purple_savedstatus_find(title); + + if (status == NULL) + return FALSE; + + if (purple_savedstatus_get_current() == status) + return FALSE; + + purple_savedstatus_delete_by_status(status); + return TRUE; } -const GList * +GList * purple_savedstatuses_get_all(void) { return saved_statuses; @@ -1171,6 +1204,21 @@ purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_SAVEDSTATUS)); + purple_signal_register(handle, "savedstatus-added", + purple_marshal_VOID__POINTER, NULL, 1, + purple_value_new(PURPLE_TYPE_SUBTYPE, + PURPLE_SUBTYPE_SAVEDSTATUS)); + + purple_signal_register(handle, "savedstatus-deleted", + purple_marshal_VOID__POINTER, NULL, 1, + purple_value_new(PURPLE_TYPE_SUBTYPE, + PURPLE_SUBTYPE_SAVEDSTATUS)); + + purple_signal_register(handle, "savedstatus-modified", + purple_marshal_VOID__POINTER, NULL, 1, + purple_value_new(PURPLE_TYPE_SUBTYPE, + PURPLE_SUBTYPE_SAVEDSTATUS)); + purple_signal_connect(purple_accounts_get_handle(), "account-removed", handle, PURPLE_CALLBACK(purple_savedstatus_unset_all_substatuses),
--- a/libpurple/savedstatuses.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/savedstatuses.h Thu Jun 21 20:37:57 2007 +0000 @@ -149,11 +149,21 @@ gboolean purple_savedstatus_delete(const char *title); /** + * Delete a saved status. This removes the saved status from the list + * of saved statuses, and writes the revised list to status.xml. + * + * @param saved_status the status to delete, the pointer is invalid after + * the call + * + */ +void purple_savedstatus_delete_by_status(PurpleSavedStatus *saved_status); + +/** * Returns all saved statuses. * - * @return A list of saved statuses. + * @constreturn A list of saved statuses. */ -const GList *purple_savedstatuses_get_all(void); +GList *purple_savedstatuses_get_all(void); /** * Returns the n most popular saved statuses. "Popularity" is
--- a/libpurple/status.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/status.c Thu Jun 21 20:37:57 2007 +0000 @@ -451,7 +451,7 @@ return NULL; } -const GList * +GList * purple_status_type_get_attrs(const PurpleStatusType *status_type) { g_return_val_if_fail(status_type != NULL, NULL); @@ -548,7 +548,7 @@ purple_status_new(PurpleStatusType *status_type, PurplePresence *presence) { PurpleStatus *status; - const GList *l; + GList *l; g_return_val_if_fail(status_type != NULL, NULL); g_return_val_if_fail(presence != NULL, NULL); @@ -719,10 +719,10 @@ void purple_status_set_active_with_attrs_list(PurpleStatus *status, gboolean active, - const GList *attrs) + GList *attrs) { gboolean changed = FALSE; - const GList *l; + GList *l; GList *specified_attr_ids = NULL; PurpleStatusType *status_type; @@ -1168,9 +1168,9 @@ } void -purple_presence_add_list(PurplePresence *presence, const GList *source_list) +purple_presence_add_list(PurplePresence *presence, GList *source_list) { - const GList *l; + GList *l; g_return_if_fail(presence != NULL); g_return_if_fail(source_list != NULL); @@ -1396,7 +1396,7 @@ return presence->u.buddy.buddy; } -const GList * +GList * purple_presence_get_statuses(const PurplePresence *presence) { g_return_val_if_fail(presence != NULL, NULL); @@ -1408,7 +1408,7 @@ purple_presence_get_status(const PurplePresence *presence, const char *status_id) { PurpleStatus *status; - const GList *l = NULL; + GList *l = NULL; g_return_val_if_fail(presence != NULL, NULL); g_return_val_if_fail(status_id != NULL, NULL); @@ -1487,7 +1487,7 @@ purple_presence_is_status_primitive_active(const PurplePresence *presence, PurpleStatusPrimitive primitive) { - const GList *l; + GList *l; g_return_val_if_fail(presence != NULL, FALSE); g_return_val_if_fail(primitive != PURPLE_STATUS_UNSET, FALSE); @@ -1535,7 +1535,7 @@ gboolean idle1, idle2; time_t idle_time_1, idle_time_2; int score1 = 0, score2 = 0; - const GList *l; + GList *l; if (presence1 == presence2) return 0;
--- a/libpurple/status.h Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/status.h Thu Jun 21 20:37:57 2007 +0000 @@ -227,7 +227,7 @@ gboolean independent, const char *attr_id, const char *attr_name, - PurpleValue *attr_value, ...); + PurpleValue *attr_value, ...) G_GNUC_NULL_TERMINATED; /** * Destroys a status type. @@ -270,7 +270,7 @@ * @param ... Additional attribute information. */ void purple_status_type_add_attrs(PurpleStatusType *status_type, const char *id, - const char *name, PurpleValue *value, ...); + const char *name, PurpleValue *value, ...) G_GNUC_NULL_TERMINATED; /** * Adds multiple attributes to a status type using a va_list. @@ -387,9 +387,9 @@ * * @param status_type The status type. * - * @return The list of attributes. + * @constreturn The list of attributes. */ -const GList *purple_status_type_get_attrs(const PurpleStatusType *status_type); +GList *purple_status_type_get_attrs(const PurpleStatusType *status_type); /** * Find the PurpleStatusType with the given id. @@ -515,10 +515,11 @@ * @param active The active state. * @param attrs A list of attributes to set on the status. This list is * composed of key/value pairs, where each key is a valid - * attribute name for this PurpleStatusType. + * attribute name for this PurpleStatusType. The list is + * not modified or freed by this function. */ void purple_status_set_active_with_attrs_list(PurpleStatus *status, gboolean active, - const GList *attrs); + GList *attrs); /** * Sets the boolean value of an attribute in a status with the specified ID. @@ -768,9 +769,10 @@ * Adds a list of statuses to the presence. * * @param presence The presence. - * @param source_list The source list of statuses to add. + * @param source_list The source list of statuses to add, which is not + * modified or freed by this function. */ -void purple_presence_add_list(PurplePresence *presence, const GList *source_list); +void purple_presence_add_list(PurplePresence *presence, GList *source_list); /** * Sets the active state of a status in a presence. @@ -869,9 +871,9 @@ * * @param presence The presence. * - * @return The statuses. + * @constreturn The statuses. */ -const GList *purple_presence_get_statuses(const PurplePresence *presence); +GList *purple_presence_get_statuses(const PurplePresence *presence); /** * Returns the status with the specified ID from a presence.
--- a/libpurple/util.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/util.c Thu Jun 21 20:37:57 2007 +0000 @@ -66,8 +66,8 @@ unsigned long data_len; }; -static char custom_home_dir[MAXPATHLEN]; -static char home_dir[MAXPATHLEN] = ""; +static char *custom_user_dir = NULL; +static char *home_dir = NULL; PurpleMenuAction * purple_menu_action_new(const char *label, PurpleCallback callback, gpointer data, @@ -2396,27 +2396,22 @@ const char * purple_user_dir(void) { - if (custom_home_dir != NULL && *custom_home_dir) { - strcpy ((char*) &home_dir, (char*) &custom_home_dir); - } else if (!*home_dir) { - const gchar *hd = purple_home_dir(); - - if (hd) { - g_strlcpy((char*) &home_dir, hd, sizeof(home_dir)); - g_strlcat((char*) &home_dir, G_DIR_SEPARATOR_S ".purple", - sizeof(home_dir)); - } - } + if (custom_user_dir != NULL) + return custom_user_dir; + else if (!home_dir) + home_dir = g_build_filename(purple_home_dir(), ".purple", NULL); return home_dir; } void purple_util_set_user_dir(const char *dir) { - if (dir != NULL && strlen(dir) > 0) { - g_strlcpy((char*) &custom_home_dir, dir, - sizeof(custom_home_dir)); - } + g_free(custom_user_dir); + + if (dir != NULL && *dir) + custom_user_dir = g_strdup(dir); + else + custom_user_dir = NULL; } int purple_build_dir (const char *path, int mode) @@ -3135,7 +3130,7 @@ char * purple_str_size_to_units(size_t size) { - static const char *size_str[4] = { "bytes", "KB", "MB", "GB" }; + static const char *size_str[4] = { "bytes", "KiB", "MiB", "GiB" }; float size_mag; int size_index = 0;
--- a/libpurple/whiteboard.c Tue Jun 19 19:40:06 2007 +0000 +++ b/libpurple/whiteboard.c Thu Jun 21 20:37:57 2007 +0000 @@ -23,6 +23,7 @@ #include <string.h> +#include "internal.h" #include "whiteboard.h" #include "prpl.h"
--- a/pidgin/Makefile.am Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/Makefile.am Thu Jun 21 20:37:57 2007 +0000 @@ -197,6 +197,7 @@ -DLIBDIR=\"$(libdir)/pidgin/\" \ -DLOCALEDIR=\"$(datadir)/locale\" \ -DSYSCONFDIR=\"$(sysconfdir)\" \ + -I$(top_builddir)/libpurple \ -I$(top_srcdir)/libpurple/ \ $(GLIB_CFLAGS) \ $(GSTREAMER_CFLAGS) \
--- a/pidgin/gtkaccount.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtkaccount.c Thu Jun 21 20:37:57 2007 +0000 @@ -697,7 +697,7 @@ PurpleAccountOption *option; PurpleAccount *account; GtkWidget *frame, *vbox, *check, *entry, *combo, *menu, *item; - const GList *list, *node; + GList *list, *node; gint i, idx, int_value; GtkListStore *model; GtkTreeIter iter; @@ -1586,7 +1586,7 @@ account = purple_connection_get_account(gc); model = GTK_TREE_MODEL(accounts_window->model); - index = g_list_index((GList *)purple_accounts_get_all(), account); + index = g_list_index(purple_accounts_get_all(), account); if (gtk_tree_model_iter_nth_child(model, &iter, NULL, index)) { @@ -1789,13 +1789,13 @@ case GTK_TREE_VIEW_DROP_INTO_OR_AFTER: move_account_after(dialog->model, &dialog->drag_iter, &iter); - dest_index = g_list_index((GList *)purple_accounts_get_all(), + dest_index = g_list_index(purple_accounts_get_all(), account) + 1; break; case GTK_TREE_VIEW_DROP_BEFORE: case GTK_TREE_VIEW_DROP_INTO_OR_BEFORE: - dest_index = g_list_index((GList *)purple_accounts_get_all(), + dest_index = g_list_index(purple_accounts_get_all(), account); move_account_before(dialog->model, &dialog->drag_iter, @@ -2094,7 +2094,7 @@ static gboolean populate_accounts_list(AccountsWindow *dialog) { - const GList *l; + GList *l; gboolean ret = FALSE; GdkPixbuf *global_buddyicon = NULL; const char *path; @@ -2298,7 +2298,7 @@ global_buddyicon_changed(const char *name, PurplePrefType type, gconstpointer value, gpointer window) { - const GList *list; + GList *list; for (list = purple_accounts_get_all(); list; list = list->next) { account_modified_cb(list->data, window); } @@ -2429,7 +2429,7 @@ { PurpleConnection *gc = purple_account_get_connection(data->account); - if (g_list_find((GList *)purple_connections_get_all(), gc)) + if (g_list_find(purple_connections_get_all(), gc)) { purple_blist_request_add_buddy(data->account, data->username, NULL, data->alias); @@ -2686,3 +2686,4 @@ purple_signals_unregister_by_instance(pidgin_account_get_handle()); } +
--- a/pidgin/gtkblist.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtkblist.c Thu Jun 21 20:37:57 2007 +0000 @@ -108,6 +108,7 @@ static guint visibility_manager_count = 0; static gboolean gtk_blist_obscured = FALSE; +static gboolean editing_blist = FALSE; static GList *pidgin_blist_sort_methods = NULL; static struct pidgin_blist_sort_method *current_sort_method = NULL; @@ -150,11 +151,7 @@ if (!gtkblist) return "dim grey"; if (!dim_grey_string[0]) { - GtkStyle *style = gtk_widget_get_style(gtkblist->treeview); - snprintf(dim_grey_string, sizeof(dim_grey_string), "#%02x%02x%02x", - style->text_aa[GTK_STATE_NORMAL].red >> 8, - style->text_aa[GTK_STATE_NORMAL].green >> 8, - style->text_aa[GTK_STATE_NORMAL].blue >> 8); + snprintf(dim_grey_string, sizeof(dim_grey_string), "%s", pidgin_get_dim_grey_string(gtkblist->treeview)); } return dim_grey_string; } @@ -294,15 +291,30 @@ static void gtk_blist_join_chat(PurpleChat *chat) { PurpleConversation *conv; - - conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, - purple_chat_get_name(chat), + PurplePluginProtocolInfo *prpl_info; + const char *name; + char *chat_name; + + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(purple_find_prpl(purple_account_get_protocol_id(chat->account))); + + if (prpl_info && prpl_info->get_chat_name) + chat_name = prpl_info->get_chat_name(chat->components); + else + chat_name = NULL; + + if (chat_name) + name = chat_name; + else + name = purple_chat_get_name(chat); + + conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, name, chat->account); if (conv != NULL) purple_conversation_present(conv); serv_join_chat(chat->account->gc, chat->components); + g_free(chat_name); } static void gtk_blist_menu_join_cb(GtkWidget *w, PurpleChat *chat) @@ -310,6 +322,13 @@ gtk_blist_join_chat(chat); } +#if GTK_CHECK_VERSION(2,6,0) +static void gtk_blist_renderer_editing_cancelled_cb(GtkCellRenderer *renderer, PurpleBuddyList *list) +{ + editing_blist = FALSE; + pidgin_blist_refresh(list); +} + static void gtk_blist_renderer_editing_started_cb(GtkCellRenderer *renderer, GtkCellEditable *editable, gchar *path_str, @@ -346,10 +365,12 @@ GtkEntry *entry = GTK_ENTRY (editable); gtk_entry_set_text(entry, text); } -} + editing_blist = TRUE; +} +#endif static void gtk_blist_renderer_edited_cb(GtkCellRendererText *text_rend, char *arg1, - char *arg2, gpointer nada) + char *arg2, PurpleBuddyList *list) { GtkTreeIter iter; GtkTreePath *path; @@ -357,6 +378,7 @@ PurpleBlistNode *node; PurpleGroup *dest; + editing_blist = FALSE; path = gtk_tree_path_new_from_string (arg1); gtk_tree_model_get_iter (GTK_TREE_MODEL(gtkblist->treemodel), &iter, path); gtk_tree_path_free (path); @@ -401,6 +423,7 @@ default: break; } + pidgin_blist_refresh(list); } static void gtk_blist_menu_alias_cb(GtkWidget *w, PurpleBlistNode *node) @@ -481,6 +504,11 @@ pidgin_syslog_show(); } +static void gtk_blist_show_onlinehelp_cb() +{ + purple_notify_uri(NULL, PURPLE_WEBSITE "documentation"); +} + static void do_join_chat(PidginJoinChatData *data) { @@ -681,7 +709,7 @@ gboolean pidgin_blist_joinchat_is_showable() { - const GList *c; + GList *c; PurpleConnection *gc; for (c = purple_connections_get_all(); c != NULL; c = c->next) { @@ -1536,7 +1564,7 @@ add_buddies_from_vcard(const char *prpl_id, PurpleGroup *group, GList *list, const char *alias) { - const GList *l; + GList *l; PurpleAccount *account = NULL; PurpleConnection *gc; @@ -2077,51 +2105,6 @@ } } -static void -roundify(GdkPixbuf *pixbuf) { - int width, height, rowstride; - guchar *pixels; - - if (!gdk_pixbuf_get_has_alpha(pixbuf)) - return; - - width = gdk_pixbuf_get_width(pixbuf); - height = gdk_pixbuf_get_height(pixbuf); - rowstride = gdk_pixbuf_get_rowstride(pixbuf); - pixels = gdk_pixbuf_get_pixels(pixbuf); - - if (width < 6 || height < 6) - return; - - /* Top left */ - pixels[3] = 0; - pixels[7] = 0x80; - pixels[11] = 0xC0; - pixels[rowstride + 3] = 0x80; - pixels[rowstride * 2 + 3] = 0xC0; - - /* Top right */ - pixels[width * 4 - 1] = 0; - pixels[width * 4 - 5] = 0x80; - pixels[width * 4 - 9] = 0xC0; - pixels[rowstride + (width * 4) - 1] = 0x80; - pixels[(2 * rowstride) + (width * 4) - 1] = 0xC0; - - /* Bottom left */ - pixels[(height - 1) * rowstride + 3] = 0; - pixels[(height - 1) * rowstride + 7] = 0x80; - pixels[(height - 1) * rowstride + 11] = 0xC0; - pixels[(height - 2) * rowstride + 3] = 0x80; - pixels[(height - 3) * rowstride + 3] = 0xC0; - - /* Bottom right */ - pixels[height * rowstride - 1] = 0; - pixels[(height - 1) * rowstride - 1] = 0x80; - pixels[(height - 2) * rowstride - 1] = 0xC0; - pixels[height * rowstride - 5] = 0x80; - pixels[height * rowstride - 9] = 0xC0; -} - /* Altered from do_colorshift in gnome-panel */ static void do_alphashift (GdkPixbuf *dest, GdkPixbuf *src, int shift) @@ -2258,7 +2241,7 @@ gdk_pixbuf_fill(ret, 0x00000000); gdk_pixbuf_scale(buf, ret, (32-scale_width)/2, (32-scale_height)/2, scale_width, scale_height, (32-scale_width)/2, (32-scale_height)/2, (double)scale_width/(double)orig_width, (double)scale_height/(double)orig_height, GDK_INTERP_BILINEAR); if (pidgin_gdk_pixbuf_is_opaque(ret)) - roundify(ret); + pidgin_gdk_pixbuf_make_round(ret); } else { ret = gdk_pixbuf_scale_simple(buf,scale_width,scale_height, GDK_INTERP_BILINEAR); } @@ -2845,7 +2828,6 @@ { N_("/Buddies/Add C_hat..."), NULL, pidgin_blist_add_chat_cb, 0, "<StockItem>", GTK_STOCK_ADD }, { N_("/Buddies/Add _Group..."), NULL, purple_blist_request_add_group, 0, "<StockItem>", GTK_STOCK_ADD }, { "/Buddies/sep3", NULL, NULL, 0, "<Separator>", NULL }, - { N_("/Buddies/_About Pidgin"), NULL, pidgin_dialogs_about, 0, "<Item>", NULL }, { N_("/Buddies/_Quit"), "<CTL>Q", purple_core_quit, 0, "<StockItem>", GTK_STOCK_QUIT }, /* Accounts menu */ @@ -2862,9 +2844,13 @@ { N_("/Tools/_File Transfers"), "<CTL>T", pidgin_xfer_dialog_show, 0, "<Item>", NULL }, { N_("/Tools/R_oom List"), NULL, pidgin_roomlist_dialog_show, 0, "<Item>", NULL }, { N_("/Tools/System _Log"), NULL, gtk_blist_show_systemlog_cb, 0, "<Item>", NULL }, - { N_("/Tools/_Debug Window"), NULL, toggle_debug, 0, "<Item>", NULL }, { "/Tools/sep3", NULL, NULL, 0, "<Separator>", NULL }, { N_("/Tools/Mute _Sounds"), "<CTL>S", pidgin_blist_mute_sounds_cb, 0, "<CheckItem>", NULL }, + /* Help */ + { N_("/_Help"), NULL, NULL, 0, "<Branch>", NULL }, + { N_("/Help/Online _Help"), "F1", gtk_blist_show_onlinehelp_cb, 0, "<StockItem>", GTK_STOCK_HELP }, + { N_("/Help/_Debug Window"), NULL, toggle_debug, 0, "<Item>", NULL }, + { N_("/Help/_About"), NULL, pidgin_dialogs_about, 0, "<Item>", NULL }, }; /********************************************************* @@ -2889,7 +2875,7 @@ prpl = purple_find_prpl(purple_account_get_protocol_id(chat->account)); prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); - if (g_list_length((GList *)purple_connections_get_all()) > 1) + if (g_list_length(purple_connections_get_all()) > 1) { tmp = g_markup_escape_text(chat->account->username, -1); g_string_append_printf(str, _("\n<b>Account:</b> %s"), tmp); @@ -2954,7 +2940,7 @@ user_info = purple_notify_user_info_new(); /* Account */ - if (full && g_list_length((GList *)purple_connections_get_all()) > 1) + if (full && g_list_length(purple_connections_get_all()) > 1) { tmp = g_markup_escape_text(purple_account_get_username( purple_buddy_get_account(b)), -1); @@ -2990,7 +2976,14 @@ signon = purple_presence_get_login_time(presence); if (full && PURPLE_BUDDY_IS_ONLINE(b) && signon > 0) { - tmp = purple_str_seconds_to_string(time(NULL) - signon); + if (time(NULL) - signon > 63072000 /* 2 years */) { + /* + * Our local clock must be wrong, show the actual + * date instead of "4 days", etc. + */ + tmp = g_strdup(purple_date_format_long(localtime(&signon))); + } else + tmp = purple_str_seconds_to_string(time(NULL) - signon); purple_notify_user_info_add_pair(user_info, _("Logged In"), tmp); g_free(tmp); } @@ -3257,7 +3250,7 @@ return ret; } -static gchar *pidgin_blist_get_name_markup(PurpleBuddy *b, gboolean selected) +gchar *pidgin_blist_get_name_markup(PurpleBuddy *b, gboolean selected, gboolean aliased) { const char *name; char *esc, *text = NULL; @@ -3282,15 +3275,19 @@ } /* XXX Good luck cleaning up this crap */ - - contact = (PurpleContact*)((PurpleBlistNode*)b)->parent; - if(contact) - gtkcontactnode = ((PurpleBlistNode*)contact)->ui_data; - - if(gtkcontactnode && !gtkcontactnode->contact_expanded && contact->alias) - name = contact->alias; - else - name = purple_buddy_get_alias(b); + if (aliased) { + contact = (PurpleContact*)((PurpleBlistNode*)b)->parent; + if(contact) + gtkcontactnode = ((PurpleBlistNode*)contact)->ui_data; + + if(gtkcontactnode && !gtkcontactnode->contact_expanded && contact->alias) + name = contact->alias; + else + name = purple_buddy_get_alias(b); + } else { + name = b->name; + } + esc = g_markup_escape_text(name, strlen(name)); presence = purple_buddy_get_presence(b); @@ -3729,8 +3726,11 @@ gboolean pidgin_blist_node_is_contact_expanded(PurpleBlistNode *node) { - if PURPLE_BLIST_NODE_IS_BUDDY(node) + if (PURPLE_BLIST_NODE_IS_BUDDY(node)) { node = node->parent; + if (node == NULL) + return FALSE; + } g_return_val_if_fail(PURPLE_BLIST_NODE_IS_CONTACT(node), FALSE); @@ -4204,7 +4204,7 @@ {"application/x-im-contact", 0, DRAG_BUDDY}, {"text/x-vcard", 0, DRAG_VCARD }}; if (gtkblist && gtkblist->window) { - purple_blist_set_visible(TRUE); + purple_blist_set_visible(purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/list_visible")); return; } @@ -4435,8 +4435,11 @@ #endif "markup", NAME_COLUMN, NULL); +#if GTK_CHECK_VERSION(2,6,0) g_signal_connect(G_OBJECT(rend), "editing-started", G_CALLBACK(gtk_blist_renderer_editing_started_cb), NULL); - g_signal_connect(G_OBJECT(rend), "edited", G_CALLBACK(gtk_blist_renderer_edited_cb), NULL); + g_signal_connect(G_OBJECT(rend), "editing-canceled", G_CALLBACK(gtk_blist_renderer_editing_cancelled_cb), list); +#endif + g_signal_connect(G_OBJECT(rend), "edited", G_CALLBACK(gtk_blist_renderer_edited_cb), list); g_object_set(rend, "ypad", 0, "yalign", 0.5, NULL); #if GTK_CHECK_VERSION(2,6,0) g_object_set(rend, "ellipsize", PANGO_ELLIPSIZE_END, NULL); @@ -4778,9 +4781,10 @@ gtk_tree_path_free(newpath); - gtk_tree_store_set(gtkblist->treemodel, iter, - NODE_COLUMN, node, - -1); + if (!editing_blist) + gtk_tree_store_set(gtkblist->treemodel, iter, + NODE_COLUMN, node, + -1); if(node->parent) { GtkTreePath *expand = NULL; @@ -4813,6 +4817,9 @@ g_return_if_fail(node != NULL); + if (editing_blist) + return; + if (PURPLE_BLIST_NODE_IS_GROUP(node)) gnode = node; else if (PURPLE_BLIST_NODE_IS_BUDDY(node)) @@ -4914,6 +4921,9 @@ gboolean biglist = purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_buddy_icons"); presence = purple_buddy_get_presence(buddy); + if (editing_blist) + return; + status = pidgin_blist_get_status_icon((PurpleBlistNode*)buddy, PIDGIN_STATUS_ICON_SMALL); @@ -4931,7 +4941,7 @@ } emblem = pidgin_blist_get_emblem((PurpleBlistNode*) buddy); - mark = pidgin_blist_get_name_markup(buddy, selected); + mark = pidgin_blist_get_name_markup(buddy, selected, TRUE); if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_idle_time") && purple_presence_is_idle(presence) && @@ -4993,6 +5003,9 @@ PurpleBuddy *buddy; struct _pidgin_blist_node *gtknode; + if (editing_blist) + return; + if (PURPLE_BLIST_NODE_IS_BUDDY(node)) cnode = node->parent; else @@ -5089,6 +5102,9 @@ g_return_if_fail(PURPLE_BLIST_NODE_IS_CHAT(node)); + if (editing_blist) + return; + /* First things first, update the group */ pidgin_blist_update_group(list, node->parent); @@ -5689,7 +5705,7 @@ { PidginAddChatData *data; PidginBuddyList *gtkblist; - const GList *l; + GList *l; PurpleConnection *gc; GtkWidget *label; GtkWidget *rowbox; @@ -6456,8 +6472,7 @@ { GtkWidget *menuitem = NULL, *submenu = NULL; GtkAccelGroup *accel_group = NULL; - GList *l = NULL; - const GList *accounts; + GList *l = NULL, *accounts = NULL; gboolean disabled_accounts = FALSE; if (accountmenu == NULL) @@ -6694,3 +6709,4 @@ if (activeitem) gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(activeitem), TRUE); } +
--- a/pidgin/gtkblist.h Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtkblist.h Thu Jun 21 20:37:57 2007 +0000 @@ -360,4 +360,14 @@ void pidgin_blist_set_headline(const char *text, GdkPixbuf *pixbuf, GCallback callback, gpointer user_data, GDestroyNotify destroy); +/** + * Returns a buddy's Pango markup appropriate for setting in a GtkCellRenderer. + * + * @param buddy The buddy to return markup from + * @param selected Whether this buddy is selected. If TRUE, the markup will not change the color. + * @param aliased TRUE to return the appropriate alias of this buddy, FALSE to return its screenname + * @return The markup for this buddy + */ +gchar *pidgin_blist_get_name_markup(PurpleBuddy *buddy, gboolean selected, gboolean aliased); + #endif /* _PIDGINBLIST_H_ */
--- a/pidgin/gtkconv.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtkconv.c Thu Jun 21 20:37:57 2007 +0000 @@ -49,6 +49,7 @@ #include "prpl.h" #include "request.h" #include "util.h" +#include "version.h" #include "gtkdnd-hints.h" #include "gtkblist.h" @@ -81,6 +82,12 @@ PIDGIN_CONV_COLORIZE_TITLE = 1 << 6 }PidginConvFields; +enum { + ICON_COLUMN, + TEXT_COLUMN, + NUM_COLUMNS +} PidginInfopaneColumns; + #define PIDGIN_CONV_ALL ((1 << 7) - 1) #define SEND_COLOR "#204a87" @@ -621,23 +628,10 @@ static void chat_do_info(PidginConversation *gtkconv, const char *who) { PurpleConversation *conv = gtkconv->active_conv; - PurplePluginProtocolInfo *prpl_info = NULL; PurpleConnection *gc; if ((gc = purple_conversation_get_gc(conv))) { - prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl); - - /* - * If there are special needs for getting info on users in - * buddy chat "rooms"... - */ - if (prpl_info->get_cb_info != NULL) - { - prpl_info->get_cb_info(gc, - purple_conv_chat_get_id(PURPLE_CONV_CHAT(conv)), who); - } - else - pidgin_retrieve_user_info(gc, who); + pidgin_retrieve_user_info_in_chat(gc, who, purple_conv_chat_get_id(PURPLE_CONV_CHAT(conv))); } } @@ -1821,6 +1815,9 @@ if (!gtkconv->send_history) break; + if (gtkconv->entry != entry) + break; + if (!gtkconv->send_history->prev) { GtkTextIter start, end; @@ -1869,6 +1866,9 @@ if (!gtkconv->send_history) break; + if (gtkconv->entry != entry) + break; + if (gtkconv->send_history->prev && gtkconv->send_history->prev->data) { GObject *object; GtkTextIter iter; @@ -1972,6 +1972,8 @@ switch (event->keyval) { case GDK_Tab: + if (gtkconv->entry != entry) + break; return tab_complete(conv); break; @@ -2048,6 +2050,9 @@ return TRUE; } +static void +regenerate_options_items(PidginWindow *win); + void pidgin_conv_switch_active_conversation(PurpleConversation *conv) { @@ -2148,6 +2153,8 @@ gray_stuff_out(gtkconv); update_typing_icon(gtkconv); + g_object_set_data(G_OBJECT(entry), "transient_buddy", NULL); + regenerate_options_items(gtkconv->win); gtk_window_set_title(GTK_WINDOW(gtkconv->win->window), gtk_label_get_text(GTK_LABEL(gtkconv->tab_label))); @@ -2336,6 +2343,10 @@ gtk_image_set_from_pixbuf(GTK_IMAGE(gtkconv->icon), status); gtk_image_set_from_pixbuf(GTK_IMAGE(gtkconv->menu_icon), status); + gtk_list_store_set(GTK_LIST_STORE(gtkconv->infopane_model), + &(gtkconv->infopane_iter), + ICON_COLUMN, status, -1); + if (status != NULL) g_object_unref(status); @@ -2391,16 +2402,22 @@ gdk_pixbuf_animation_iter_advance(gtkconv->u.im->iter, NULL); buf = gdk_pixbuf_animation_iter_get_pixbuf(gtkconv->u.im->iter); - pidgin_buddy_icon_get_scale_size(buf, &prpl_info->icon_spec, - PURPLE_ICON_SCALE_DISPLAY, &scale_width, &scale_height); - - /* this code is ugly, and scares me */ - scale = gdk_pixbuf_scale_simple(buf, - MAX(gdk_pixbuf_get_width(buf) * scale_width / - gdk_pixbuf_animation_get_width(gtkconv->u.im->anim), 1), - MAX(gdk_pixbuf_get_height(buf) * scale_height / - gdk_pixbuf_animation_get_height(gtkconv->u.im->anim), 1), + scale_width = gdk_pixbuf_get_width(buf); + scale_height = gdk_pixbuf_get_height(buf); + if (scale_width == scale_height) { + scale_width = scale_height = 32; + } else if (scale_height > scale_width) { + scale_width = 32 * scale_width / scale_height; + scale_height = 32; + } else { + scale_height = 32 * scale_height / scale_width; + scale_width = 32; + } + + scale = gdk_pixbuf_scale_simple(buf, scale_width, scale_height, GDK_INTERP_BILINEAR); + if (pidgin_gdk_pixbuf_is_opaque(scale)) + pidgin_gdk_pixbuf_make_round(scale); gtk_image_set_from_pixbuf(GTK_IMAGE(gtkconv->u.im->icon), scale); g_object_unref(G_OBJECT(scale)); @@ -2676,7 +2693,7 @@ gboolean hidden_only, guint max_count) { - const GList *l; + GList *l; GList *r = NULL; guint c = 0; @@ -2894,11 +2911,45 @@ menu = gtk_item_factory_get_widget(win->menu.item_factory, N_("/Conversation/More")); - if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT) + if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT) { chat = purple_blist_find_chat(conv->account, conv->name); - else + + if ((chat == NULL) && (gtkconv->imhtml != NULL)) { + chat = g_object_get_data(G_OBJECT(gtkconv->imhtml), "transient_chat"); + } + + if ((chat == NULL) && (gtkconv->imhtml != NULL)) { + GHashTable *components; + components = g_hash_table_new_full(g_str_hash, g_str_equal, + g_free, g_free); + g_hash_table_replace(components, g_strdup("channel"), + g_strdup(conv->name)); + chat = purple_chat_new(conv->account, NULL, components); + purple_blist_node_set_flags((PurpleBlistNode *)chat, + PURPLE_BLIST_NODE_FLAG_NO_SAVE); + g_object_set_data_full(G_OBJECT(gtkconv->imhtml), "transient_chat", + chat, (GDestroyNotify)purple_blist_remove_chat); + } + } else { buddy = purple_find_buddy(conv->account, conv->name); + /* gotta remain bug-compatible :( libpurple < 2.0.2 didn't handle + * removing "isolated" buddy nodes well */ + if (purple_version_check(2, 0, 2) == NULL) { + if ((buddy == NULL) && (gtkconv->imhtml != NULL)) { + buddy = g_object_get_data(G_OBJECT(gtkconv->imhtml), "transient_buddy"); + } + + if ((buddy == NULL) && (gtkconv->imhtml != NULL)) { + buddy = purple_buddy_new(conv->account, conv->name, NULL); + purple_blist_node_set_flags((PurpleBlistNode *)buddy, + PURPLE_BLIST_NODE_FLAG_NO_SAVE); + g_object_set_data_full(G_OBJECT(gtkconv->imhtml), "transient_buddy", + buddy, (GDestroyNotify)purple_blist_remove_buddy); + } + } + } + if (chat) node = (PurpleBlistNode *)chat; else if (buddy) @@ -3802,7 +3853,7 @@ g_list_free(list); } else if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT) { PurpleConvChat *chat = PURPLE_CONV_CHAT(conv); - const GList *l = purple_conv_chat_get_users(chat); + GList *l = purple_conv_chat_get_users(chat); GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(PIDGIN_CONVERSATION(conv)->u.chat->list)); GtkTreeIter iter; int f; @@ -4213,11 +4264,9 @@ hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); - gtk_widget_show(hbox); label = gtk_label_new(_("Topic:")); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); - gtk_widget_show(label); gtkchat->topic_text = gtk_entry_new(); @@ -4229,7 +4278,8 @@ } gtk_box_pack_start(GTK_BOX(hbox), gtkchat->topic_text, TRUE, TRUE, 0); - gtk_widget_show(gtkchat->topic_text); + g_signal_connect(G_OBJECT(gtkchat->topic_text), "key_press_event", + G_CALLBACK(entry_key_press_cb), gtkconv); } } @@ -4328,6 +4378,8 @@ setup_common_pane(PidginConversation *gtkconv) { GtkWidget *paned, *vbox, *frame, *imhtml_sw; + GtkCellRenderer *rend; + GtkTreePath *path; PurpleConversation *conv = gtkconv->active_conv; gboolean chat = (conv->type == PURPLE_CONV_TYPE_CHAT); GtkPolicyType imhtml_sw_hscroll; @@ -4340,6 +4392,37 @@ gtk_paned_pack1(GTK_PANED(paned), vbox, TRUE, TRUE); gtk_widget_show(vbox); + /* Setup the info pane */ + gtkconv->infopane_hbox = gtk_hbox_new(FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox), gtkconv->infopane_hbox, FALSE, FALSE, 0); + gtk_widget_show(gtkconv->infopane_hbox); + + gtkconv->infopane = gtk_cell_view_new(); + gtkconv->infopane_model = gtk_list_store_new(NUM_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_STRING); + gtk_cell_view_set_model(GTK_CELL_VIEW(gtkconv->infopane), + GTK_TREE_MODEL(gtkconv->infopane_model)); + gtk_list_store_append(gtkconv->infopane_model, &(gtkconv->infopane_iter)); + gtk_box_pack_start(GTK_BOX(gtkconv->infopane_hbox), gtkconv->infopane, TRUE, TRUE, 0); + path = gtk_tree_path_new_from_string("0"); + gtk_cell_view_set_displayed_row(GTK_CELL_VIEW(gtkconv->infopane), path); + gtk_tree_path_free(path); + gtk_widget_set_size_request(gtkconv->infopane, -1, 32); + gtk_widget_show(gtkconv->infopane); + + rend = gtk_cell_renderer_pixbuf_new(); + gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(gtkconv->infopane), rend, FALSE); + gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(gtkconv->infopane), rend, "pixbuf", ICON_COLUMN, NULL); + g_object_set(rend, "xalign", 0.0, "xpad", 6, "ypad", 0, NULL); + + rend = gtk_cell_renderer_text_new(); + gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(gtkconv->infopane), rend, TRUE); + gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(gtkconv->infopane), rend, "markup", TEXT_COLUMN, NULL); + g_object_set(rend, "ypad", 0, "yalign", 0.5, NULL); + +#if GTK_CHECK_VERSION(2, 6, 0) + g_object_set(rend, "ellipsize", PANGO_ELLIPSIZE_END, NULL); +#endif + /* Setup the gtkimhtml widget */ frame = pidgin_create_imhtml(FALSE, >kconv->imhtml, NULL, &imhtml_sw); if (chat) { @@ -5396,7 +5479,7 @@ gtkconv = PIDGIN_CONVERSATION(conv); gtkchat = gtkconv->u.chat; - num_users = g_list_length((GList *)purple_conv_chat_get_users(chat)); + num_users = g_list_length(purple_conv_chat_get_users(chat)); g_snprintf(tmp, sizeof(tmp), ngettext("%d person in room", "%d people in room", @@ -5490,7 +5573,7 @@ gtkconv = PIDGIN_CONVERSATION(conv); gtkchat = gtkconv->u.chat; - num_users = g_list_length((GList *)purple_conv_chat_get_users(chat)); + num_users = g_list_length(purple_conv_chat_get_users(chat)); for (l = users; l != NULL; l = l->next) { model = gtk_tree_view_get_model(GTK_TREE_VIEW(gtkchat->list)); @@ -5931,8 +6014,10 @@ buttons = GTK_IMHTML_SMILEY | GTK_IMHTML_IMAGE; } - if (!(prpl_info->options & OPT_PROTO_IM_IMAGE) || - conv->features & PURPLE_CONNECTION_NO_IMAGES) + if (!(prpl_info->options & OPT_PROTO_IM_IMAGE)) + conv->features |= PURPLE_CONNECTION_NO_IMAGES; + + if(conv->features & PURPLE_CONNECTION_NO_IMAGES) buttons &= ~GTK_IMHTML_IMAGE; gtk_imhtml_set_format_functions(GTK_IMHTML(gtkconv->entry), buttons); @@ -5945,7 +6030,7 @@ gtk_widget_set_sensitive(win->menu.get_info, (prpl_info->get_info != NULL)); gtk_widget_set_sensitive(win->menu.invite, (prpl_info->chat_invite != NULL)); gtk_widget_set_sensitive(win->menu.insert_link, (conv->features & PURPLE_CONNECTION_HTML)); - gtk_widget_set_sensitive(win->menu.insert_image, (prpl_info->options & OPT_PROTO_IM_IMAGE) && !(conv->features & PURPLE_CONNECTION_NO_IMAGES)); + gtk_widget_set_sensitive(win->menu.insert_image, !(conv->features & PURPLE_CONNECTION_NO_IMAGES)); if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) { @@ -6065,11 +6150,13 @@ pidgin_themes_smiley_themeize(PIDGIN_CONVERSATION(conv)->imhtml); if ((fields & PIDGIN_CONV_COLORIZE_TITLE) || - (fields & PIDGIN_CONV_SET_TITLE)) + (fields & PIDGIN_CONV_SET_TITLE) || + (fields & PIDGIN_CONV_TOPIC)) { char *title; PurpleConvIm *im = NULL; PurpleAccount *account = purple_conversation_get_account(conv); + char *markup = NULL; AtkObject *accessibility_obj; /* I think this is a little longer than it needs to be but I'm lazy. */ char style[51]; @@ -6085,6 +6172,25 @@ else title = g_strdup(purple_conversation_get_title(conv)); + if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) { + PurpleBuddy *buddy = purple_find_buddy(account, conv->name); + if (buddy) + markup = pidgin_blist_get_name_markup(buddy, FALSE, FALSE); + else + markup = title; + } else if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT) { + PurpleConvChat *chat = PURPLE_CONV_CHAT(conv); + markup = g_strdup_printf("%s\n<span color='%s' size='smaller'>%s</span>", + purple_conversation_get_title(conv), + pidgin_get_dim_grey_string(gtkconv->infopane), + purple_conv_chat_get_topic(chat)); + } + gtk_list_store_set(gtkconv->infopane_model, &(gtkconv->infopane_iter), + TEXT_COLUMN, markup, -1); + + if (title != markup) + g_free(markup); + *style = '\0'; if (!GTK_WIDGET_REALIZED(gtkconv->tab_label)) @@ -6244,7 +6350,6 @@ GdkPixbuf *buf; GtkWidget *event; - GtkWidget *frame; GdkPixbuf *scale; int scale_width, scale_height; @@ -6343,54 +6448,55 @@ } if (gdk_pixbuf_animation_is_static_image(gtkconv->u.im->anim)) { + GdkPixbuf *stat; gtkconv->u.im->iter = NULL; - buf = gdk_pixbuf_animation_get_static_image(gtkconv->u.im->anim); + stat = gdk_pixbuf_animation_get_static_image(gtkconv->u.im->anim); + buf = gdk_pixbuf_add_alpha(stat, FALSE, 0, 0, 0); } else { + GdkPixbuf *stat; gtkconv->u.im->iter = gdk_pixbuf_animation_get_iter(gtkconv->u.im->anim, NULL); /* LEAK */ - buf = gdk_pixbuf_animation_iter_get_pixbuf(gtkconv->u.im->iter); + stat = gdk_pixbuf_animation_iter_get_pixbuf(gtkconv->u.im->iter); + buf = gdk_pixbuf_add_alpha(stat, FALSE, 0, 0, 0); if (gtkconv->u.im->animate) start_anim(NULL, gtkconv); } - pidgin_buddy_icon_get_scale_size(buf, &prpl_info->icon_spec, - PURPLE_ICON_SCALE_DISPLAY, &scale_width, &scale_height); - scale = gdk_pixbuf_scale_simple(buf, - MAX(gdk_pixbuf_get_width(buf) * scale_width / - gdk_pixbuf_animation_get_width(gtkconv->u.im->anim), 1), - MAX(gdk_pixbuf_get_height(buf) * scale_height / - gdk_pixbuf_animation_get_height(gtkconv->u.im->anim), 1), + scale_width = gdk_pixbuf_get_width(buf); + scale_height = gdk_pixbuf_get_height(buf); + if (scale_width == scale_height) { + scale_width = scale_height = 32; + } else if (scale_height > scale_width) { + scale_width = 32 * scale_width / scale_height; + scale_height = 32; + } else { + scale_height = 32 * scale_height / scale_width; + scale_width = 32; + } + scale = gdk_pixbuf_scale_simple(buf, scale_width, scale_height, GDK_INTERP_BILINEAR); - + g_object_unref(buf); + if (pidgin_gdk_pixbuf_is_opaque(scale)) + pidgin_gdk_pixbuf_make_round(scale); gtkconv->u.im->icon_container = gtk_vbox_new(FALSE, 0); - frame = gtk_frame_new(NULL); - gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_NONE); - gtk_box_pack_start(GTK_BOX(gtkconv->u.im->icon_container), frame, - FALSE, FALSE, 0); - event = gtk_event_box_new(); - gtk_container_add(GTK_CONTAINER(frame), event); + gtk_container_add(GTK_CONTAINER(gtkconv->u.im->icon_container), event); g_signal_connect(G_OBJECT(event), "button-press-event", G_CALLBACK(icon_menu), gtkconv); gtk_widget_show(event); gtkconv->u.im->icon = gtk_image_new_from_pixbuf(scale); gtkconv->auto_resize = TRUE; - /* Reset the size request to allow the buddy icon to resize */ - gtk_widget_set_size_request(gtkconv->lower_hbox, -1, -1); - g_idle_add(reset_auto_resize_cb, gtkconv); - gtk_widget_set_size_request(gtkconv->u.im->icon, scale_width, scale_height); gtk_container_add(GTK_CONTAINER(event), gtkconv->u.im->icon); gtk_widget_show(gtkconv->u.im->icon); g_object_unref(G_OBJECT(scale)); - gtk_box_pack_start(GTK_BOX(gtkconv->lower_hbox), + gtk_box_pack_start(GTK_BOX(gtkconv->infopane_hbox), gtkconv->u.im->icon_container, FALSE, FALSE, 0); gtk_widget_show(gtkconv->u.im->icon_container); - gtk_widget_show(frame); /* The buddy icon code needs badly to be fixed. */ if(pidgin_conv_window_is_active_conversation(conv)) @@ -6487,7 +6593,7 @@ close_on_tabs_pref_cb(const char *name, PurplePrefType type, gconstpointer value, gpointer data) { - const GList *l; + GList *l; PurpleConversation *conv; PidginConversation *gtkconv; @@ -6511,7 +6617,7 @@ gconstpointer value, gpointer data) { #ifdef USE_GTKSPELL - const GList *cl; + GList *cl; PurpleConversation *conv; PidginConversation *gtkconv; GtkSpell *spell; @@ -6558,7 +6664,7 @@ show_timestamps_pref_cb(const char *name, PurplePrefType type, gconstpointer value, gpointer data) { - const GList *l; + GList *l; PurpleConversation *conv; PidginConversation *gtkconv; PidginWindow *win; @@ -6586,7 +6692,7 @@ show_formatting_toolbar_pref_cb(const char *name, PurplePrefType type, gconstpointer value, gpointer data) { - const GList *l; + GList *l; PurpleConversation *conv; PidginConversation *gtkconv; PidginWindow *win; @@ -6616,7 +6722,7 @@ animate_buddy_icons_pref_cb(const char *name, PurplePrefType type, gconstpointer value, gpointer data) { - const GList *l; + GList *l; PurpleConversation *conv; PidginConversation *gtkconv; PidginWindow *win; @@ -6643,7 +6749,7 @@ show_buddy_icons_pref_cb(const char *name, PurplePrefType type, gconstpointer value, gpointer data) { - const GList *l; + GList *l; for (l = purple_get_conversations(); l != NULL; l = l->next) { PurpleConversation *conv = l->data; @@ -6769,7 +6875,7 @@ static void account_signed_off_cb(PurpleConnection *gc, gpointer event) { - const GList *iter; + GList *iter; for (iter = purple_get_conversations(); iter; iter = iter->next) { @@ -8363,7 +8469,7 @@ gtk_notebook_set_tab_label_packing(GTK_NOTEBOOK(win->notebook), gtkconv->tab_cont, !tabs_side && !angle, TRUE, GTK_PACK_START); /* show the widgets */ - gtk_widget_show(gtkconv->icon); +/* XXX gtk_widget_show(gtkconv->icon); */ gtk_widget_show(gtkconv->tab_label); if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/close_on_tabs")) gtk_widget_show(gtkconv->close);
--- a/pidgin/gtkconv.h Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtkconv.h Thu Jun 21 20:37:57 2007 +0000 @@ -158,6 +158,10 @@ } u; time_t newday; + GtkWidget *infopane_hbox; + GtkWidget *infopane; + GtkListStore *infopane_model; + GtkTreeIter infopane_iter; }; /*@}*/
--- a/pidgin/gtkdocklet-x11.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtkdocklet-x11.c Thu Jun 21 20:37:57 2007 +0000 @@ -125,8 +125,12 @@ int icon_size; if (docklet_height < 22) icon_size = gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL); + else if (docklet_height < 32) + icon_size = gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_SMALL); + else if (docklet_height < 48) + icon_size = gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_MEDIUM); else - icon_size = gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_SMALL); + icon_size = gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_LARGE); gtk_image_set_from_stock(GTK_IMAGE(image), icon_name, icon_size); } @@ -135,9 +139,9 @@ static void docklet_x11_resize_icon(GtkWidget *widget) { - if (docklet_height == widget->allocation.height) + if (docklet_height == MIN(widget->allocation.height, widget->allocation.width)) return; - docklet_height = widget->allocation.height; + docklet_height = MIN(widget->allocation.height, widget->allocation.width); pidgin_docklet_update_icon(); }
--- a/pidgin/gtkdocklet.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtkdocklet.c Thu Jun 21 20:37:57 2007 +0000 @@ -109,8 +109,7 @@ static gboolean docklet_update_status() { - GList *convs; - const GList *l; + GList *convs, *l; int count; PurpleSavedStatus *saved_status; PurpleStatusPrimitive newstatus = PURPLE_STATUS_OFFLINE; @@ -214,7 +213,8 @@ static gboolean online_account_supports_chat() { - const GList *c = purple_connections_get_all(); + GList *c = NULL; + c = purple_connections_get_all(); while(c != NULL) { PurpleConnection *gc = c->data;
--- a/pidgin/gtkft.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtkft.c Thu Jun 21 20:37:57 2007 +0000 @@ -130,7 +130,7 @@ kbps = (elapsed > 0 ? (kb_sent / elapsed) : 0); if (kbsec != NULL) { - *kbsec = g_strdup_printf(_("%.2f KB/s"), kbps); + *kbsec = g_strdup_printf(_("%.2f KiB/s"), kbps); } if (time_elapsed != NULL) @@ -248,10 +248,10 @@ get_xfer_info_strings(xfer, &kbsec, &time_elapsed, &time_remaining); - status = g_strdup_printf("%ld%% (%ld of %ld bytes)", - (unsigned long)(purple_xfer_get_progress(xfer)*100), - (unsigned long)purple_xfer_get_bytes_sent(xfer), - (unsigned long)purple_xfer_get_size(xfer)); + status = g_strdup_printf("%d%% (%" G_GSIZE_FORMAT " of %" G_GSIZE_FORMAT " bytes)", + (int)(purple_xfer_get_progress(xfer)*100), + purple_xfer_get_bytes_sent(xfer), + purple_xfer_get_size(xfer)); if (purple_xfer_is_completed(xfer)) {
--- a/pidgin/gtkimhtml.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtkimhtml.c Thu Jun 21 20:37:57 2007 +0000 @@ -29,6 +29,7 @@ #endif #include "pidgin.h" +#include "internal.h" #include "debug.h" #include "util.h" @@ -53,19 +54,6 @@ #include <windows.h> #endif -#ifdef ENABLE_NLS -# include <libintl.h> -# define _(x) gettext(x) -# ifdef gettext_noop -# define N_(String) gettext_noop (String) -# else -# define N_(String) (String) -# endif -#else -# define N_(String) (String) -# define _(x) (x) -#endif - #include <pango/pango-font.h> /* GTK+ < 2.4.x hack, see pidgin.h for details. */ @@ -3294,6 +3282,7 @@ char *basename = g_path_get_basename(filename); char *ext = strrchr(basename, '.'); #endif + char *newfilename; gtk_widget_destroy(image->filesel); image->filesel = NULL; @@ -3308,7 +3297,7 @@ gchar *fmt_ext = extensions[0]; const gchar* file_ext = filename + strlen(filename) - strlen(fmt_ext); - if(!strcmp(fmt_ext, file_ext)){ + if(!g_ascii_strcasecmp(fmt_ext, file_ext)){ type = gdk_pixbuf_format_get_name(format); break; } @@ -3341,6 +3330,7 @@ /* If I can't find a valid type, I will just tell the user about it and then assume it's a png */ if (!type){ + char *basename, *tmp; #if GTK_CHECK_VERSION(2,4,0) GtkWidget *dialog = gtk_message_dialog_new_with_markup(NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("<span size='larger' weight='bold'>Unrecognized file type</span>\n\nDefaulting to PNG.")); @@ -3351,10 +3341,26 @@ g_signal_connect_swapped(dialog, "response", G_CALLBACK (gtk_widget_destroy), dialog); gtk_widget_show(dialog); + type = g_strdup("png"); + basename = g_path_get_basename(filename); + tmp = strrchr(basename, '.'); + if (tmp != NULL) + tmp[0] = '\0'; + newfilename = g_strdup_printf("%s.png", basename); + g_free(basename); + } else { + /* + * We're able to save the file in it's original format, so we + * can use the original file name. + */ + newfilename = g_strdup(filename); } - gdk_pixbuf_save(image->pixbuf, filename, type, &error, NULL); + gdk_pixbuf_save(image->pixbuf, newfilename, type, &error, NULL); + + g_free(newfilename); + g_free(type); if (error){ #if GTK_CHECK_VERSION(2,4,0) @@ -3368,8 +3374,6 @@ gtk_widget_show(dialog); g_error_free(error); } - - g_free(type); } #if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */ @@ -5020,10 +5024,24 @@ void gtk_imhtml_setup_entry(GtkIMHtml *imhtml, PurpleConnectionFlags flags) { + GtkIMHtmlButtons buttons; + if (flags & PURPLE_CONNECTION_HTML) { char color[8]; GdkColor fg_color, bg_color; + buttons = GTK_IMHTML_ALL; + + if (flags & PURPLE_CONNECTION_NO_BGCOLOR) + buttons &= ~GTK_IMHTML_BACKCOLOR; + if (flags & PURPLE_CONNECTION_NO_FONTSIZE) + { + buttons &= ~GTK_IMHTML_GROW; + buttons &= ~GTK_IMHTML_SHRINK; + } + if (flags & PURPLE_CONNECTION_NO_URLDESC) + buttons &= ~GTK_IMHTML_LINKDESC; + gtk_imhtml_set_format_functions(imhtml, GTK_IMHTML_ALL); if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/send_bold") != imhtml->edit.bold) gtk_imhtml_toggle_bold(imhtml); @@ -5078,9 +5096,14 @@ else gtk_imhtml_set_whole_buffer_formatting_only(imhtml, FALSE); } else { + buttons = GTK_IMHTML_SMILEY | GTK_IMHTML_IMAGE; imhtml_clear_formatting(imhtml); - gtk_imhtml_set_format_functions(imhtml, 0); } + + if (flags & PURPLE_CONNECTION_NO_IMAGES) + buttons &= ~GTK_IMHTML_IMAGE; + + gtk_imhtml_set_format_functions(imhtml, buttons); }
--- a/pidgin/gtkimhtmltoolbar.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtkimhtmltoolbar.c Thu Jun 21 20:37:57 2007 +0000 @@ -865,41 +865,21 @@ gboolean *push_in, gpointer data) { + GtkWidget *widget = GTK_WIDGET(data); GtkRequisition menu_req; - GtkTextDirection direction; - GdkRectangle monitor; - gint monitor_num; - GdkScreen *screen; - GtkWidget *widget = GTK_WIDGET(data); - - gtk_widget_size_request (GTK_WIDGET (menu), &menu_req); - - direction = gtk_widget_get_direction (widget); - - screen = gtk_widget_get_screen (GTK_WIDGET (menu)); - monitor_num = gdk_screen_get_monitor_at_window (screen, widget->window); - if (monitor_num < 0) - monitor_num = 0; - gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); + gint ythickness = widget->style->ythickness; + int savy; - gdk_window_get_origin (widget->window, x, y); + gtk_widget_size_request(GTK_WIDGET (menu), &menu_req); + gdk_window_get_origin(widget->window, x, y); *x += widget->allocation.x; - *y += widget->allocation.y; - - if (direction == GTK_TEXT_DIR_LTR) - *x += MAX (widget->allocation.width - menu_req.width, 0); - else if (menu_req.width > widget->allocation.width) - *x -= menu_req.width - widget->allocation.width; + *y += widget->allocation.y + widget->allocation.height; + savy = *y; - if ((*y + widget->allocation.height + menu_req.height) <= monitor.y + monitor.height) - *y += widget->allocation.height; - else if ((*y - menu_req.height) >= monitor.y) - *y -= menu_req.height; - else if (monitor.y + monitor.height - (*y + widget->allocation.height) > *y) - *y += widget->allocation.height; - else - *y -= menu_req.height; - *push_in = FALSE; + pidgin_menu_position_func_helper(menu, x, y, push_in, data); + + if (savy > *y + ythickness + 1) + *y -= widget->allocation.height; } static void pidgin_menu_clicked(GtkWidget *button, GtkMenu *menu) @@ -1055,6 +1035,7 @@ GtkWidget *font_button; GtkWidget *font_menu; GtkWidget *insert_menu; + GtkWidget *menuitem; GtkWidget *button; GtkWidget *sep; int i; @@ -1108,7 +1089,7 @@ for (i = 0; buttons[i].label; i++) { GtkWidget *old = *buttons[i].button; - GtkWidget *menuitem = gtk_check_menu_item_new_with_mnemonic(buttons[i].label); + menuitem = gtk_check_menu_item_new_with_mnemonic(buttons[i].label); g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_button_clicked), old); g_signal_connect_after(G_OBJECT(old), "toggled", @@ -1160,17 +1141,23 @@ insert_menu = gtk_menu_new(); - button = gtk_menu_item_new_with_mnemonic(_("_Smiley")); - g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->smiley); - gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), button); + menuitem = gtk_menu_item_new_with_mnemonic(_("_Smiley")); + g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_button_clicked), toolbar->smiley); + gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), menuitem); + g_signal_connect(G_OBJECT(toolbar->smiley), "notify::sensitive", + G_CALLBACK(button_sensitiveness_changed), menuitem); - button = gtk_menu_item_new_with_mnemonic(_("_Image")); - g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->image); - gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), button); + menuitem = gtk_menu_item_new_with_mnemonic(_("_Image")); + g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_button_clicked), toolbar->image); + gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), menuitem); + g_signal_connect(G_OBJECT(toolbar->image), "notify::sensitive", + G_CALLBACK(button_sensitiveness_changed), menuitem); - button = gtk_menu_item_new_with_mnemonic(_("_Link")); - g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->link); - gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), button); + menuitem = gtk_menu_item_new_with_mnemonic(_("_Link")); + g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_button_clicked), toolbar->link); + gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), menuitem); + g_signal_connect(G_OBJECT(toolbar->link), "notify::sensitive", + G_CALLBACK(button_sensitiveness_changed), menuitem); g_signal_connect(G_OBJECT(insert_button), "clicked", G_CALLBACK(pidgin_menu_clicked), insert_menu); g_signal_connect(G_OBJECT(insert_menu), "deactivate", G_CALLBACK(pidgin_menu_deactivate), insert_button);
--- a/pidgin/gtklog.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtklog.c Thu Jun 21 20:37:57 2007 +0000 @@ -757,7 +757,7 @@ void pidgin_syslog_show() { - const GList *accounts; + GList *accounts = NULL; GList *logs = NULL; if (syslog_viewer != NULL) {
--- a/pidgin/gtkmain.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtkmain.c Thu Jun 21 20:37:57 2007 +0000 @@ -108,37 +108,32 @@ }; #endif -static int +static void dologin_named(const char *name) { PurpleAccount *account; char **names; int i; - int ret = -1; if (name != NULL) { /* list of names given */ names = g_strsplit(name, ",", 64); for (i = 0; names[i] != NULL; i++) { account = purple_accounts_find(names[i], NULL); if (account != NULL) { /* found a user */ - ret = 0; - purple_account_connect(account); + purple_account_set_enabled(account, PIDGIN_UI, TRUE); } } g_strfreev(names); } else { /* no name given, use the first account */ - const GList *accounts; + GList *accounts; accounts = purple_accounts_get_all(); if (accounts != NULL) { account = (PurpleAccount *)accounts->data; - ret = 0; - purple_account_connect(account); + purple_account_set_enabled(account, PIDGIN_UI, TRUE); } } - - return ret; } #ifdef HAVE_SIGNAL_H @@ -377,6 +372,7 @@ " -c, --config=DIR use DIR for config files\n" " -d, --debug print debugging messages to stdout\n" " -h, --help display this help and exit\n" + " -m, --multiple do not ensure single instance\n" " -n, --nologin don't automatically login\n" " -l, --login[=NAME] automatically login (optional argument NAME specifies\n" " account(s) to use, separated by commas)\n" @@ -436,12 +432,12 @@ gboolean opt_login = FALSE; gboolean opt_nologin = FALSE; gboolean opt_version = FALSE; + gboolean opt_si = TRUE; /* Check for single instance? */ char *opt_config_dir_arg = NULL; char *opt_login_arg = NULL; char *opt_session_arg = NULL; - int dologin_ret = -1; char *search_path; - const GList *accounts; + GList *accounts; #ifdef HAVE_SIGNAL_H int sig_indx; /* for setting up signal catching */ sigset_t sigset; @@ -463,6 +459,7 @@ {"debug", no_argument, NULL, 'd'}, {"help", no_argument, NULL, 'h'}, {"login", optional_argument, NULL, 'l'}, + {"multiple", no_argument, NULL, 'm'}, {"nologin", no_argument, NULL, 'n'}, {"session", required_argument, NULL, 's'}, {"version", no_argument, NULL, 'v'}, @@ -477,7 +474,7 @@ /* This is the first Glib function call. Make sure to initialize GThread bfeore then */ g_thread_init(NULL); - + #ifdef ENABLE_NLS bindtextdomain(PACKAGE, LOCALEDIR); bind_textdomain_codeset(PACKAGE, "UTF-8"); @@ -499,7 +496,7 @@ "no fault of your own.\n\n" "If you can reproduce the crash, please notify the developers\n" "by reporting a bug at:\n" - "%snewticket/\n\n" + "%ssimpleticket/\n\n" "Please make sure to specify what you were doing at the time\n" "and post the backtrace from the core file. If you do not know\n" "how to get the backtrace, please read the instructions at\n" @@ -576,7 +573,7 @@ opterr = 1; while ((opt = getopt_long(argc, argv, #ifndef _WIN32 - "c:dhnl::s:v", + "c:dhmnl::s:v", #else "c:dhnl::v", #endif @@ -608,6 +605,9 @@ case 'v': /* version */ opt_version = TRUE; break; + case 'm': /* do not ensure single instance. */ + opt_si = FALSE; + break; case '?': /* show terse help */ default: show_usage(argv[0], TRUE); @@ -734,7 +734,7 @@ abort(); } - if (!purple_core_ensure_single_instance()) { + if (opt_si && !purple_core_ensure_single_instance()) { purple_core_quit(); #ifdef HAVE_SIGNAL_H g_free(segfault_message); @@ -798,14 +798,23 @@ pidgin_debug_window_show(); if (opt_login) { - dologin_ret = dologin_named(opt_login_arg); + /* disable all accounts */ + for (accounts = purple_accounts_get_all(); accounts != NULL; accounts = accounts->next) { + PurpleAccount *account = accounts->data; + purple_account_set_enabled(account, PIDGIN_UI, FALSE); + } + /* honor the startup status preference */ + if (!purple_prefs_get_bool("/purple/savedstatus/startup_current_status")) + purple_savedstatus_activate(purple_savedstatus_get_startup()); + /* now enable the requested ones */ + dologin_named(opt_login_arg); if (opt_login_arg != NULL) { g_free(opt_login_arg); opt_login_arg = NULL; } } - if (opt_nologin) + if (opt_nologin && !opt_login) { /* Set all accounts to "offline" */ PurpleSavedStatus *saved_status; @@ -821,7 +830,7 @@ /* Set the status for each account */ purple_savedstatus_activate(saved_status); } - else + else if (!opt_login) { /* Everything is good to go--sign on already */ if (!purple_prefs_get_bool("/purple/savedstatus/startup_current_status")) @@ -846,6 +855,7 @@ winpidgin_post_init(); #endif + g_set_application_name(_("Pidgin")); gtk_main(); #ifdef HAVE_SIGNAL_H
--- a/pidgin/gtknotify.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtknotify.c Thu Jun 21 20:37:57 2007 +0000 @@ -40,6 +40,12 @@ typedef struct { + GtkWidget *window; + int count; +} PidginUserInfo; + +typedef struct +{ PurpleAccount *account; char *url; GtkWidget *label; @@ -622,7 +628,7 @@ gtk_widget_show(button); g_signal_connect_swapped(G_OBJECT(button), "clicked", - G_CALLBACK(formatted_close_cb), window); + G_CALLBACK(gtk_widget_destroy), window); g_signal_connect(G_OBJECT(window), "key_press_event", G_CALLBACK(formatted_input_cb), NULL); @@ -874,6 +880,11 @@ static void remove_userinfo(GtkWidget *widget, gpointer key) { + PidginUserInfo *pinfo = g_hash_table_lookup(userinfo, key); + + while (pinfo->count--) + purple_notify_close(PURPLE_NOTIFY_USERINFO, widget); + g_hash_table_remove(userinfo, key); } @@ -884,26 +895,33 @@ char *info; void *ui_handle; char *key = userinfo_hash(purple_connection_get_account(gc), who); + PidginUserInfo *pinfo = NULL; if (!userinfo) { - userinfo = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL); + userinfo = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); } info = purple_notify_user_info_get_text_with_newline(user_info, "<br />"); - ui_handle = g_hash_table_lookup(userinfo, key); - if (ui_handle != NULL) { - GtkIMHtml *imhtml = g_object_get_data(G_OBJECT(ui_handle), "info-widget"); + pinfo = g_hash_table_lookup(userinfo, key); + if (pinfo != NULL) { + GtkIMHtml *imhtml = g_object_get_data(G_OBJECT(pinfo->window), "info-widget"); char *linked_text = purple_markup_linkify(info); gtk_imhtml_clear(imhtml); gtk_imhtml_append_text(imhtml, linked_text, notify_imhtml_options()); g_free(linked_text); g_free(key); + ui_handle = pinfo->window; + pinfo->count++; } else { char *primary = g_strdup_printf(_("Info for %s"), who); ui_handle = pidgin_notify_formatted(_("Buddy Information"), primary, NULL, info); - g_hash_table_insert(userinfo, key, ui_handle); + g_signal_handlers_disconnect_by_func(G_OBJECT(ui_handle), G_CALLBACK(formatted_close_cb), NULL); g_signal_connect(G_OBJECT(ui_handle), "destroy", G_CALLBACK(remove_userinfo), key); g_free(primary); + pinfo = g_new0(PidginUserInfo, 1); + pinfo->window = ui_handle; + pinfo->count = 1; + g_hash_table_insert(userinfo, key, pinfo); } g_free(info); return ui_handle;
--- a/pidgin/gtkpounce.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtkpounce.c Thu Jun 21 20:37:57 2007 +0000 @@ -211,12 +211,12 @@ static void populate_pounces_list(PouncesManager *dialog) { - const GList *pounces; + GList *pounces; gtk_list_store_clear(dialog->model); - for (pounces = purple_pounces_get_all(); pounces != NULL; - pounces = g_list_next(pounces)) + for (pounces = purple_pounces_get_all_for_ui(PIDGIN_UI); pounces != NULL; + pounces = g_list_delete_link(pounces, pounces)) { add_pounce_to_treeview(dialog->model, pounces->data); } @@ -496,7 +496,7 @@ } else { - const GList *connections = purple_connections_get_all(); + GList *connections = purple_connections_get_all(); PurpleConnection *gc; if (connections != NULL)
--- a/pidgin/gtkprefs.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtkprefs.c Thu Jun 21 20:37:57 2007 +0000 @@ -949,7 +949,7 @@ label = gtk_label_new_with_mnemonic(_("Conversation _font:")); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); font_name = purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/custom_font"); - font_button = gtk_font_button_new_with_font(purple_prefs_get_string(font_name ? font_name : NULL)); + font_button = gtk_font_button_new_with_font(font_name ? font_name : NULL); gtk_font_button_set_show_style(GTK_FONT_BUTTON(font_button), TRUE); gtk_box_pack_start(GTK_BOX(hbox), font_button, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); @@ -977,7 +977,7 @@ gtk_imhtml_append_text(GTK_IMHTML(imhtml), _("This is how your outgoing message text will appear when you use protocols that support formatting. :)"), 0); - gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); gtk_imhtml_setup_entry(GTK_IMHTML(imhtml), PURPLE_CONNECTION_HTML | PURPLE_CONNECTION_FORMATTING_WBFO); @@ -1214,9 +1214,10 @@ } gtk_widget_show_all(ret); - if (proxy_info == NULL || + /* Only hide table if not running gnome otherwise we hide the IP address table! */ + if (!purple_running_gnome() && (proxy_info == NULL || purple_proxy_info_get_type(proxy_info) == PURPLE_PROXY_NONE || - purple_proxy_info_get_type(proxy_info) == PURPLE_PROXY_USE_ENVVAR) + purple_proxy_info_get_type(proxy_info) == PURPLE_PROXY_USE_ENVVAR)) gtk_widget_hide(table); return ret; }
--- a/pidgin/gtkrequest.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtkrequest.c Thu Jun 21 20:37:57 2007 +0000 @@ -974,7 +974,7 @@ GtkTreeSelection *sel; GtkTreeViewColumn *column; GtkTreeIter iter; - const GList *l; + GList *l; /* Create the scrolled window */ sw = gtk_scrolled_window_new(NULL, NULL);
--- a/pidgin/gtkroomlist.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtkroomlist.c Thu Jun 21 20:37:57 2007 +0000 @@ -343,7 +343,7 @@ gboolean pidgin_roomlist_is_showable() { - const GList *c; + GList *c; PurpleConnection *gc; for (c = purple_connections_get_all(); c != NULL; c = c->next) {
--- a/pidgin/gtksavedstatuses.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtksavedstatuses.c Thu Jun 21 20:37:57 2007 +0000 @@ -23,8 +23,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "internal.h" + #include "account.h" -#include "internal.h" #include "notify.h" #include "request.h" #include "savedstatuses.h" @@ -285,9 +286,11 @@ for (l = sel_titles; l != NULL; l = l->next) { title = l->data; - if (status_window_find_savedstatus(&iter, title)) - gtk_list_store_remove(status_window->model, &iter); - purple_savedstatus_delete(title); + if (purple_savedstatus_find(title) != purple_savedstatus_get_current()) { + if (status_window_find_savedstatus(&iter, title)) + gtk_list_store_remove(status_window->model, &iter); + purple_savedstatus_delete(title); + } g_free(title); } g_list_free(sel_titles); @@ -302,6 +305,7 @@ GList *sel_paths, *l, *sel_titles = NULL; GtkTreeModel *model = GTK_TREE_MODEL(dialog->model); char *title; + gpointer handle; selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->treeview)); #if GTK_CHECK_VERSION(2,2,0) @@ -324,13 +328,16 @@ } g_list_free(sel_paths); - if (g_list_length(sel_titles) == 1) + if (g_list_length(sel_titles) == 1) { title = g_strdup_printf(_("Are you sure you want to delete %s?"), (const gchar *)sel_titles->data); - else + handle = purple_savedstatus_find(sel_titles->data); + } else { title = g_strdup(_("Are you sure you want to delete the selected saved statuses?")); + handle = dialog; + } - purple_request_action(dialog, NULL, title, NULL, 0, + purple_request_action(handle, NULL, title, NULL, 0, NULL, NULL, NULL, sel_titles, 2, _("Delete"), status_window_delete_confirm_cb, @@ -349,17 +356,39 @@ status_selected_cb(GtkTreeSelection *sel, gpointer user_data) { StatusWindow *dialog = user_data; - int num_selected = 0; + GList *sel_paths, *tmp; + gboolean can_use = TRUE, can_delete = TRUE; + int num_selected; + GtkTreeModel *model = GTK_TREE_MODEL(dialog->model); #if GTK_CHECK_VERSION(2,2,0) - num_selected = gtk_tree_selection_count_selected_rows(sel); + sel_paths = gtk_tree_selection_get_selected_rows(sel, NULL); #else - gtk_tree_selection_selected_foreach(sel, count_selected_helper, &num_selected); + gtk_tree_selection_selected_foreach(sel, list_selected_helper, &sel_paths); #endif - gtk_widget_set_sensitive(dialog->use_button, (num_selected == 1)); + for (tmp = sel_paths, num_selected = 0; tmp; tmp = tmp->next, num_selected++) { + GtkTreeIter iter; + char *title; + + if (gtk_tree_model_get_iter(model, &iter, tmp->data)) { + gtk_tree_model_get(model, &iter, + STATUS_WINDOW_COLUMN_TITLE, &title, -1); + if (purple_savedstatus_find(title) == purple_savedstatus_get_current()) { + can_use = can_delete = FALSE; + } + + g_free(title); + } + + gtk_tree_path_free(tmp->data); + } + + gtk_widget_set_sensitive(dialog->use_button, (num_selected == 1) && can_use); gtk_widget_set_sensitive(dialog->modify_button, (num_selected > 0)); - gtk_widget_set_sensitive(dialog->delete_button, (num_selected > 0)); + gtk_widget_set_sensitive(dialog->delete_button, can_delete); + + g_list_free(sel_paths); } static void @@ -389,7 +418,7 @@ static void populate_saved_status_list(StatusWindow *dialog) { - const GList *saved_statuses; + GList *saved_statuses; gtk_list_store_clear(dialog->model); @@ -421,6 +450,12 @@ status_window_modify_cb(NULL, dialog); } +static void +saved_status_updated_cb(PurpleSavedStatus *status, StatusWindow *sw) +{ + populate_saved_status_list(sw); +} + static GtkWidget * create_saved_status_list(StatusWindow *dialog) { @@ -529,6 +564,13 @@ return FALSE; } +static void +current_status_changed(PurpleSavedStatus *old, PurpleSavedStatus *new_status, + StatusWindow *dialog) +{ + status_selected_cb(gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->treeview)), dialog); +} + void pidgin_status_window_show(void) { @@ -615,6 +657,20 @@ g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(status_window_close_cb), dialog); + purple_signal_connect(purple_savedstatuses_get_handle(), + "savedstatus-changed", dialog, + PURPLE_CALLBACK(current_status_changed), dialog); + + purple_signal_connect(purple_savedstatuses_get_handle(), + "savedstatus-added", dialog, + PURPLE_CALLBACK(saved_status_updated_cb), dialog); + purple_signal_connect(purple_savedstatuses_get_handle(), + "savedstatus-deleted", dialog, + PURPLE_CALLBACK(saved_status_updated_cb), dialog); + purple_signal_connect(purple_savedstatuses_get_handle(), + "savedstatus-modified", dialog, + PURPLE_CALLBACK(saved_status_updated_cb), dialog); + gtk_widget_show_all(win); } @@ -804,8 +860,10 @@ gtk_widget_destroy(dialog->window); g_free(dialog->original_title); +/* if (status_window != NULL) add_status_to_saved_status_list(status_window->model, saved_status); +*/ /* If they clicked on "Save & Use" or "Use," then activate the status */ if (button != dialog->save_button) @@ -1012,7 +1070,7 @@ static void status_editor_populate_list(StatusEditor *dialog, PurpleSavedStatus *saved_status) { - const GList *iter; + GList *iter; PurpleSavedStatusSub *substatus; gtk_list_store_clear(dialog->model); @@ -1393,7 +1451,7 @@ GtkTreeIter iter; GtkCellRenderer *rend; const char *status_id = NULL; - const GList *list; + GList *list; gboolean select = FALSE; g_return_if_fail(status_editor != NULL);
--- a/pidgin/gtksound.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtksound.c Thu Jun 21 20:37:57 2007 +0000 @@ -370,12 +370,12 @@ break; case GST_MESSAGE_ERROR: gst_message_parse_error(msg, &err, NULL); - purple_debug_error("gstreamer", err->message); + purple_debug_error("gstreamer", "%s\n", err->message); g_error_free(err); break; case GST_MESSAGE_WARNING: gst_message_parse_warning(msg, &err, NULL); - purple_debug_warning("gstreamer", err->message); + purple_debug_warning("gstreamer", "%s\n", err->message); g_error_free(err); break; default:
--- a/pidgin/gtkstatusbox.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtkstatusbox.c Thu Jun 21 20:37:57 2007 +0000 @@ -41,12 +41,14 @@ #include <gdk/gdkkeysyms.h> +#include "internal.h" + #include "account.h" #include "buddyicon.h" #include "core.h" -#include "internal.h" #include "imgstore.h" #include "network.h" +#include "request.h" #include "savedstatuses.h" #include "status.h" #include "debug.h" @@ -191,7 +193,7 @@ static void update_to_reflect_account_status(PidginStatusBox *status_box, PurpleAccount *account, PurpleStatus *newstatus) { - const GList *l; + GList *l; int status_no = -1; const PurpleStatusType *statustype = NULL; const char *message; @@ -732,7 +734,7 @@ static PurpleStatusType * find_status_type_by_index(const PurpleAccount *account, gint active) { - const GList *l = purple_account_get_status_types(account); + GList *l = purple_account_get_status_types(account); gint i; for (i = 0; l; l = l->next) { @@ -941,7 +943,7 @@ { PurpleAccount *acct = NULL, *acct2; GList *tmp, *tmp2, *active_accts = purple_accounts_get_all_active(); - const GList *s, *s1, *s2; + GList *s, *s1, *s2; for (tmp = active_accts; tmp; tmp = tmp->next) { acct = tmp->data; @@ -989,7 +991,7 @@ add_account_statuses(PidginStatusBox *status_box, PurpleAccount *account) { /* Per-account */ - const GList *l; + GList *l; GdkPixbuf *pixbuf; for (l = purple_account_get_status_types(account); l != NULL; l = l->next) @@ -1223,6 +1225,12 @@ } static void +saved_status_updated_cb(PurpleSavedStatus *status, PidginStatusBox *status_box) +{ + pidgin_status_box_regenerate(status_box); +} + +static void spellcheck_prefs_cb(const char *name, PurplePrefType type, gconstpointer value, gpointer data) { @@ -1434,7 +1442,7 @@ } } } else { - const GList *accounts; + GList *accounts; for (accounts = purple_accounts_get_all(); accounts != NULL; accounts = accounts->next) { PurpleAccount *account = accounts->data; PurplePlugin *plug = purple_find_prpl(purple_account_get_protocol_id(account)); @@ -1514,6 +1522,56 @@ pidgin_status_box_changed(status_box); } +static void tree_view_delete_current_selection_cb(gpointer data) +{ + PurpleSavedStatus *saved; + + saved = purple_savedstatus_find_by_creation_time(GPOINTER_TO_INT(data)); + g_return_if_fail(saved != NULL); + + if (purple_savedstatus_get_current() != saved) + purple_savedstatus_delete_by_status(saved); +} + +static void +tree_view_delete_current_selection(PidginStatusBox *status_box, GtkTreePath *path) +{ + GtkTreeIter iter; + gpointer data; + PurpleSavedStatus *saved; + gchar *msg; + + if (status_box->active_row) { + /* don't delete active status */ + if (gtk_tree_path_compare(path, gtk_tree_row_reference_get_path(status_box->active_row)) == 0) + return; + } + + if (!gtk_tree_model_get_iter (GTK_TREE_MODEL(status_box->dropdown_store), &iter, path)) + return; + + gtk_tree_model_get(GTK_TREE_MODEL(status_box->dropdown_store), &iter, + DATA_COLUMN, &data, + -1); + + saved = purple_savedstatus_find_by_creation_time(GPOINTER_TO_INT(data)); + g_return_if_fail(saved != NULL); + if (saved == purple_savedstatus_get_current()) + return; + + msg = g_strdup_printf(_("Are you sure you want to delete %s?"), purple_savedstatus_get_title(saved)); + + purple_request_action(saved, NULL, msg, NULL, 0, + NULL, NULL, NULL, + data, 2, + _("Delete"), tree_view_delete_current_selection_cb, + _("Cancel"), NULL); + + g_free(msg); + + pidgin_status_box_popdown(status_box); +} + static gboolean treeview_button_release_cb(GtkWidget *widget, GdkEventButton *event, PidginStatusBox *status_box) { @@ -1561,18 +1619,25 @@ if (event->keyval == GDK_Escape) { pidgin_status_box_popdown(box); return TRUE; - } else if (event->keyval == GDK_Return) { + } else { GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(box->tree_view)); GtkTreeIter iter; GtkTreePath *path; if (gtk_tree_selection_get_selected(sel, NULL, &iter)) { + gboolean ret = TRUE; path = gtk_tree_model_get_path(GTK_TREE_MODEL(box->dropdown_store), &iter); - treeview_activate_current_selection(box, path); + if (event->keyval == GDK_Return) { + treeview_activate_current_selection(box, path); + } else if (event->keyval == GDK_Delete) { + tree_view_delete_current_selection(box, path); + } else + ret = FALSE; + gtk_tree_path_free (path); - return TRUE; + return ret; } - } + } } return FALSE; } @@ -1742,6 +1807,15 @@ status_box, PURPLE_CALLBACK(current_savedstatus_changed_cb), status_box); + purple_signal_connect(purple_savedstatuses_get_handle(), + "savedstatus-added", status_box, + PURPLE_CALLBACK(saved_status_updated_cb), status_box); + purple_signal_connect(purple_savedstatuses_get_handle(), + "savedstatus-deleted", status_box, + PURPLE_CALLBACK(saved_status_updated_cb), status_box); + purple_signal_connect(purple_savedstatuses_get_handle(), + "savedstatus-modified", status_box, + PURPLE_CALLBACK(saved_status_updated_cb), status_box); purple_signal_connect(purple_accounts_get_handle(), "account-enabled", status_box, PURPLE_CALLBACK(account_enabled_cb), status_box); @@ -2223,7 +2297,7 @@ { /* Manually find the appropriate transient acct */ if (status_box->token_status_account) { - const GList *iter = purple_savedstatuses_get_all(); + GList *iter = purple_savedstatuses_get_all(); GList *tmp, *active_accts = purple_accounts_get_all_active(); for (; iter != NULL; iter = iter->next) {
--- a/pidgin/gtkthemes.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtkthemes.c Thu Jun 21 20:37:57 2007 +0000 @@ -237,7 +237,7 @@ } if (load) { - const GList *cnv; + GList *cnv; if (current_smiley_theme) pidgin_themes_destroy_smiley_theme(current_smiley_theme);
--- a/pidgin/gtkutils.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtkutils.c Thu Jun 21 20:37:57 2007 +0000 @@ -525,7 +525,7 @@ { PurplePluginProtocolInfo *prpl_info; const char *protoname = NULL; - char buf[MAXPATHLEN]; + char *tmp; char *filename = NULL; GdkPixbuf *pixbuf; @@ -541,12 +541,14 @@ * Status icons will be themeable too, and then it will look up * protoname from the theme */ - g_snprintf(buf, sizeof(buf), "%s.png", protoname); + tmp = g_strconcat(protoname, ".png", NULL); filename = g_build_filename(DATADIR, "pixmaps", "pidgin", "protocols", size == PIDGIN_PRPL_ICON_SMALL ? "16" : size == PIDGIN_PRPL_ICON_MEDIUM ? "22" : "48", - buf, NULL); + tmp, NULL); + g_free(tmp); + pixbuf = gdk_pixbuf_new_from_file(filename, NULL); g_free(filename); @@ -687,8 +689,8 @@ AopMenu *aop_menu = NULL; PurpleAccount *account; GdkPixbuf *pixbuf = NULL; - const GList *list; - const GList *p; + GList *list; + GList *p; GtkSizeGroup *sg; int i; char buf[256]; @@ -911,15 +913,44 @@ g_free(filename); } -void pidgin_retrieve_user_info(PurpleConnection *conn, const char *name) +static void +show_retrieveing_info(PurpleConnection *conn, const char *name) { PurpleNotifyUserInfo *info = purple_notify_user_info_new(); purple_notify_user_info_add_pair(info, _("Information"), _("Retrieving...")); purple_notify_userinfo(conn, name, info, NULL, NULL); purple_notify_user_info_destroy(info); +} + +void pidgin_retrieve_user_info(PurpleConnection *conn, const char *name) +{ + show_retrieveing_info(conn, name); serv_get_info(conn, name); } +void pidgin_retrieve_user_info_in_chat(PurpleConnection *conn, const char *name, int chat) +{ + char *who = NULL; + PurplePluginProtocolInfo *prpl_info = NULL; + + if (chat < 0) { + pidgin_retrieve_user_info(conn, name); + return; + } + + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(conn->prpl); + if (prpl_info == NULL || prpl_info->get_cb_info == NULL) { + pidgin_retrieve_user_info(conn, name); + return; + } + + if (prpl_info->get_cb_real_name) + who = prpl_info->get_cb_real_name(conn, chat, name); + show_retrieveing_info(conn, who ? who : name); + prpl_info->get_cb_info(conn, chat, name); + g_free(who); +} + gboolean pidgin_parse_x_im_contact(const char *msg, gboolean all_accounts, PurpleAccount **ret_account, char **ret_protocol, @@ -995,9 +1026,9 @@ /* Check for a compatible account. */ if (ret_account != NULL) { - const GList *list; + GList *list; PurpleAccount *account = NULL; - const GList *l; + GList *l; const char *protoname; if (all_accounts) @@ -1139,14 +1170,14 @@ g_object_unref (relation); } -#if GTK_CHECK_VERSION(2,2,0) -static void -pidgin_menu_position_func(GtkMenu *menu, +void +pidgin_menu_position_func_helper(GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer data) { +#if GTK_CHECK_VERSION(2,2,0) GtkWidget *widget; GtkRequisition requisition; GdkScreen *screen; @@ -1287,9 +1318,9 @@ { *y = monitor.y; } +#endif } -#endif void pidgin_treeview_popup_menu_position_func(GtkMenu *menu, @@ -1311,9 +1342,7 @@ *x += rect.x+rect.width; *y += rect.y+rect.height+ythickness; -#if GTK_CHECK_VERSION(2,2,0) - pidgin_menu_position_func (menu, x, y, push_in, data); -#endif + pidgin_menu_position_func_helper(menu, x, y, push_in, data); } enum { @@ -2049,6 +2078,7 @@ static void screenname_autocomplete_destroyed_cb(GtkWidget *widget, gpointer data) { + g_free(data); purple_signals_disconnect_by_handle(widget); } @@ -2130,7 +2160,7 @@ purple_signal_connect(purple_accounts_get_handle(), "account-removed", entry, PURPLE_CALLBACK(repopulate_autocomplete), cb_data); - g_signal_connect(G_OBJECT(entry), "destroy", G_CALLBACK(screenname_autocomplete_destroyed_cb), NULL); + g_signal_connect(G_OBJECT(entry), "destroy", G_CALLBACK(screenname_autocomplete_destroyed_cb), data); } void pidgin_set_cursor(GtkWidget *widget, GdkCursorType cursor_type) @@ -3065,6 +3095,65 @@ return TRUE; } +void pidgin_gdk_pixbuf_make_round(GdkPixbuf *pixbuf) { + int width, height, rowstride; + guchar *pixels; + if (!gdk_pixbuf_get_has_alpha(pixbuf)) + return; + width = gdk_pixbuf_get_width(pixbuf); + height = gdk_pixbuf_get_height(pixbuf); + rowstride = gdk_pixbuf_get_rowstride(pixbuf); + pixels = gdk_pixbuf_get_pixels(pixbuf); + + if (width < 6 || height < 6) + return; + /* Top left */ + pixels[3] = 0; + pixels[7] = 0x80; + pixels[11] = 0xC0; + pixels[rowstride + 3] = 0x80; + pixels[rowstride * 2 + 3] = 0xC0; + + /* Top right */ + pixels[width * 4 - 1] = 0; + pixels[width * 4 - 5] = 0x80; + pixels[width * 4 - 9] = 0xC0; + pixels[rowstride + (width * 4) - 1] = 0x80; + pixels[(2 * rowstride) + (width * 4) - 1] = 0xC0; + + /* Bottom left */ + pixels[(height - 1) * rowstride + 3] = 0; + pixels[(height - 1) * rowstride + 7] = 0x80; + pixels[(height - 1) * rowstride + 11] = 0xC0; + pixels[(height - 2) * rowstride + 3] = 0x80; + pixels[(height - 3) * rowstride + 3] = 0xC0; + + /* Bottom right */ + pixels[height * rowstride - 1] = 0; + pixels[(height - 1) * rowstride - 1] = 0x80; + pixels[(height - 2) * rowstride - 1] = 0xC0; + pixels[height * rowstride - 5] = 0x80; + pixels[height * rowstride - 9] = 0xC0; +} + +const char *pidgin_get_dim_grey_string(GtkWidget *widget) { + static char dim_grey_string[8] = ""; + GtkStyle *style; + + if (!widget) + return "dim grey"; + + style = gtk_widget_get_style(widget); + if (!style) + return "dim grey"; + + snprintf(dim_grey_string, sizeof(dim_grey_string), "#%02x%02x%02x", + style->text_aa[GTK_STATE_NORMAL].red >> 8, + style->text_aa[GTK_STATE_NORMAL].green >> 8, + style->text_aa[GTK_STATE_NORMAL].blue >> 8); + return dim_grey_string; +} + #if !GTK_CHECK_VERSION(2,2,0) GtkTreePath * gtk_tree_path_new_from_indices (gint first_index, ...) @@ -3089,3 +3178,4 @@ return path; } #endif +
--- a/pidgin/gtkutils.h Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/gtkutils.h Thu Jun 21 20:37:57 2007 +0000 @@ -329,6 +329,15 @@ void pidgin_retrieve_user_info(PurpleConnection *conn, const char *name); /** + * Get information about a user in a chat. Show immediate feedback. + * + * @param conn The connection to get information from. + * @param name The user to get information about. + * @param chatid The chat id. + */ +void pidgin_retrieve_user_info_in_chat(PurpleConnection *conn, const char *name, int chatid); + +/** * Parses an application/x-im-contact MIME message and returns the * data inside. * @@ -359,6 +368,21 @@ void pidgin_set_accessible_label(GtkWidget *w, GtkWidget *l); /** + * A helper function for GtkMenuPositionFuncs. This ensures the menu will + * be kept on screen if possible. + * + * @param menu The menu we are positioning. + * @param x Address of the gint representing the horizontal position + * where the menu shall be drawn. This is an output parameter. + * @param y Address of the gint representing the vertical position + * where the menu shall be drawn. This is an output parameter. + * @param push_in This is an output parameter? + * @param user_data Not used by this particular position function. + */ +void pidgin_menu_position_func_helper(GtkMenu *menu, gint *x, gint *y, + gboolean *push_in, gpointer data); + +/** * A valid GtkMenuPositionFunc. This is used to determine where * to draw context menu's when the menu is activated with the * keyboard (shift+F10). If the menu is activated with the mouse, @@ -550,6 +574,22 @@ */ gboolean pidgin_gdk_pixbuf_is_opaque(GdkPixbuf *pixbuf); +/** + * Rounds the corners of a 32x32 GdkPixbuf in place + * + * @param pixbuf The buddy icon to transform + */ +void pidgin_gdk_pixbuf_make_round(GdkPixbuf *pixbuf); + +/** + * Returns an HTML-style color string for use as a dim grey + * string + * + * @param widget The widget to return dim grey for + * @return The dim grey string + */ +const char *pidgin_get_dim_grey_string(GtkWidget *widget); + #if !GTK_CHECK_VERSION(2,2,0) /** * This is copied from Gtk to support Gtk 2.0
--- a/pidgin/pidginstock.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pidginstock.c Thu Jun 21 20:37:57 2007 +0000 @@ -105,7 +105,7 @@ { PIDGIN_STOCK_STATUS_AWAY, "status", "away.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_AWAY_I }, { PIDGIN_STOCK_STATUS_BUSY, "status", "busy.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_BUSY_I }, { PIDGIN_STOCK_STATUS_CHAT, "status", "chat.png", TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL }, - { PIDGIN_STOCK_STATUS_INVISIBLE,"status", "invisible.png", TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_INVISIBLE,"status", "invisible.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, { PIDGIN_STOCK_STATUS_XA, "status", "extended-away.png", TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, PIDGIN_STOCK_STATUS_XA_I }, { PIDGIN_STOCK_STATUS_LOGIN, "status", "log-in.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, { PIDGIN_STOCK_STATUS_LOGOUT, "status", "log-out.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE , NULL }, @@ -162,14 +162,17 @@ { PIDGIN_STOCK_TOOLBAR_SELECT_AVATAR, "toolbar", "select-avatar.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL }, { PIDGIN_STOCK_TOOLBAR_SEND_FILE, "toolbar", "send-file.png", TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TRAY_AVAILABLE, "tray", "tray-online.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TRAY_INVISIBLE, "tray", "tray-invisible.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TRAY_AWAY, "tray", "tray-away.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TRAY_BUSY, "tray", "tray-busy.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TRAY_XA, "tray", "tray-extended-away.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TRAY_OFFLINE, "tray", "tray-offline.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TRAY_CONNECT, "tray", "tray-connecting.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TRAY_PENDING, "tray", "tray-message.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL } + { PIDGIN_STOCK_TRAY_AVAILABLE, "tray", "tray-online.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_INVISIBLE, "tray", "tray-invisible.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_AWAY, "tray", "tray-away.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_BUSY, "tray", "tray-busy.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_XA, "tray", "tray-extended-away.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_OFFLINE, "tray", "tray-offline.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_CONNECT, "tray", "tray-connecting.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_PENDING, "tray", "tray-new-im.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL } +/* Uncomment me after 2.0.2! + * { PIDGIN_STOCK_TRAY_EMAIL, "tray", "tray-message.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL } + */ }; static gchar *
--- a/pidgin/pidginstock.h Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pidginstock.h Thu Jun 21 20:37:57 2007 +0000 @@ -137,6 +137,9 @@ #define PIDGIN_STOCK_TRAY_OFFLINE "pidgin-tray-offline" #define PIDGIN_STOCK_TRAY_CONNECT "pidgin-tray-connect" #define PIDGIN_STOCK_TRAY_PENDING "pidgin-tray-pending" +/* Uncomment me after 2.0.2! + * #define PIDGIN_STOCK_TRAY_EMAIL "pidgin-tray-email" + */ /*@}*/
--- a/pidgin/pixmaps/icons/16/scalable/pidgin.svg Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/icons/16/scalable/pidgin.svg Thu Jun 21 20:37:57 2007 +0000 @@ -14,7 +14,7 @@ id="svg4345" sodipodi:version="0.32" inkscape:version="0.44.1" - sodipodi:docbase="/home/hbons/Desktop/icons/16/scalable" + sodipodi:docbase="/home/hbons/Desktop/2.0.2/pidgin/pixmaps/icons/16/scalable" sodipodi:docname="pidgin.svg" inkscape:export-filename="/home/hbons/Desktop/pidgin16.png" inkscape:export-xdpi="90" @@ -24,6 +24,54 @@ id="defs4347"> <linearGradient inkscape:collect="always" + id="linearGradient3157"> + <stop + style="stop-color:#eeeeec;stop-opacity:1;" + offset="0" + id="stop3159" /> + <stop + style="stop-color:#eeeeec;stop-opacity:0;" + offset="1" + id="stop3161" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3149"> + <stop + style="stop-color:#3b1941;stop-opacity:1;" + offset="0" + id="stop3151" /> + <stop + style="stop-color:#3b1941;stop-opacity:0;" + offset="1" + id="stop3153" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3141"> + <stop + style="stop-color:#82508e;stop-opacity:1;" + offset="0" + id="stop3143" /> + <stop + style="stop-color:#82508e;stop-opacity:0;" + offset="1" + id="stop3145" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3128"> + <stop + style="stop-color:#eeeeec;stop-opacity:1;" + offset="0" + id="stop3130" /> + <stop + style="stop-color:#eeeeec;stop-opacity:0;" + offset="1" + id="stop3132" /> + </linearGradient> + <linearGradient + inkscape:collect="always" id="linearGradient5438"> <stop style="stop-color:white;stop-opacity:1;" @@ -72,18 +120,6 @@ </linearGradient> <linearGradient inkscape:collect="always" - id="linearGradient5304"> - <stop - style="stop-color:#2e3436;stop-opacity:1;" - offset="0" - id="stop5306" /> - <stop - style="stop-color:#2e3436;stop-opacity:0;" - offset="1" - id="stop5308" /> - </linearGradient> - <linearGradient - inkscape:collect="always" id="linearGradient5280"> <stop style="stop-color:#82508e;stop-opacity:1;" @@ -178,24 +214,6 @@ gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" - xlink:href="#linearGradient5304" - id="linearGradient5310" - x1="12.606371" - y1="15.069461" - x2="12.606371" - y2="21.152372" - gradientUnits="userSpaceOnUse" /> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient6506" - id="linearGradient6512" - x1="15.645709" - y1="39.743458" - x2="15.645709" - y2="53.502155" - gradientUnits="userSpaceOnUse" /> - <linearGradient - inkscape:collect="always" xlink:href="#linearGradient6537" id="linearGradient6543" x1="30.5" @@ -211,7 +229,8 @@ y1="38.950283" x2="5.7089725" y2="42.982571" - gradientUnits="userSpaceOnUse" /> + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.63556,0,0,0.371995,11.16667,-5.489292)" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient5438" @@ -221,6 +240,421 @@ x2="30.152058" y2="23.011967" gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + id="linearGradient3976"> + <stop + style="stop-color:#3b1941;stop-opacity:1;" + offset="0" + id="stop3978" /> + <stop + style="stop-color:#3b1941;stop-opacity:0;" + offset="1" + id="stop3980" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3968"> + <stop + style="stop-color:#82508e;stop-opacity:1;" + offset="0" + id="stop3970" /> + <stop + style="stop-color:#82508e;stop-opacity:0;" + offset="1" + id="stop3972" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3958"> + <stop + style="stop-color:#eeeeec;stop-opacity:1;" + offset="0" + id="stop3960" /> + <stop + style="stop-color:#eeeeec;stop-opacity:0;" + offset="1" + id="stop3962" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2850"> + <stop + style="stop-color:#ce5c00;stop-opacity:1;" + offset="0" + id="stop2852" /> + <stop + style="stop-color:#ce5c00;stop-opacity:0;" + offset="1" + id="stop2854" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient6563"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop6565" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop6567" /> + </linearGradient> + <linearGradient + id="linearGradient2110"> + <stop + style="stop-color:black;stop-opacity:0;" + offset="0" + id="stop2112" /> + <stop + id="stop2114" + offset="0.5" + style="stop-color:black;stop-opacity:1;" /> + <stop + style="stop-color:black;stop-opacity:0;" + offset="1" + id="stop2067" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient25546" + id="radialGradient2069" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.994693,0,4.16407e-2)" + cx="7.8836637" + cy="1.5104795" + fx="7.8836637" + fy="1.5104795" + r="8.4883642" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient25546" + id="radialGradient2071" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.994693,0,4.16407e-2)" + cx="7.8836741" + cy="0.14505707" + fx="7.8836741" + fy="0.14505707" + r="8.4883642" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient25546" + id="radialGradient2079" + cx="7.8836637" + cy="2.6242435" + fx="7.8836637" + fy="2.6242435" + r="8.4883642" + gradientTransform="matrix(1.131317,0,0,1.125313,-1.035262,-0.301139)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + id="linearGradient2081"> + <stop + style="stop-color:#f4d9b1;stop-opacity:1.0000000;" + offset="0.0000000" + id="stop2104" /> + <stop + style="stop-color:#df9725;stop-opacity:1.0000000;" + offset="1.0000000" + id="stop2085" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6506" + id="linearGradient2101" + x1="15.645709" + y1="39.743458" + x2="14.943421" + y2="50.079575" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6537" + id="linearGradient2089" + x1="30.5" + y1="0.033532728" + x2="30.5" + y2="23.559282" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6563" + id="linearGradient6569" + x1="-1.6841649" + y1="39.902092" + x2="5.5366187" + y2="44.272076" + gradientUnits="userSpaceOnUse" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="23.011967" + x2="30.152058" + y1="-0.86487341" + x1="30.152058" + id="linearGradient2097" + xlink:href="#linearGradient5438" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="42.982571" + x2="5.7089725" + y1="38.950283" + x1="0.23931108" + id="linearGradient2095" + xlink:href="#linearGradient6817" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="50.726673" + x2="15.645709" + y1="40.434063" + x1="15.645709" + id="linearGradient2093" + xlink:href="#linearGradient6506" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2087"> + <stop + id="stop2089" + offset="0.0000000" + style="stop-color:#f4d9b1;stop-opacity:1.0000000;" /> + <stop + id="stop2091" + offset="1.0000000" + style="stop-color:#df9725;stop-opacity:1.0000000;" /> + </linearGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.131317,0,0,1.125313,-1.035262,-0.301139)" + r="8.4883642" + fy="2.6242435" + fx="7.8836637" + cy="2.6242435" + cx="7.8836637" + id="radialGradient2085" + xlink:href="#linearGradient25546" + inkscape:collect="always" /> + <radialGradient + r="8.4883642" + fy="0.14505707" + fx="7.8836741" + cy="0.14505707" + cx="7.8836741" + gradientTransform="matrix(1,0,0,0.994693,0,4.16407e-2)" + gradientUnits="userSpaceOnUse" + id="radialGradient2077" + xlink:href="#linearGradient25546" + inkscape:collect="always" /> + <radialGradient + r="8.4883642" + fy="1.5104795" + fx="7.8836637" + cy="1.5104795" + cx="7.8836637" + gradientTransform="matrix(1,0,0,0.994693,0,4.16407e-2)" + gradientUnits="userSpaceOnUse" + id="radialGradient2075" + xlink:href="#linearGradient25546" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2067"> + <stop + id="stop2069" + offset="0" + style="stop-color:black;stop-opacity:0;" /> + <stop + style="stop-color:black;stop-opacity:1;" + offset="0.5" + id="stop2071" /> + <stop + id="stop2073" + offset="1" + style="stop-color:black;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient3108" + inkscape:collect="always"> + <stop + id="stop3110" + offset="0" + style="stop-color:#eeeeec;stop-opacity:1;" /> + <stop + id="stop3112" + offset="1" + style="stop-color:#eeeeec;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient3116" + inkscape:collect="always"> + <stop + id="stop3118" + offset="0" + style="stop-color:#82508e;stop-opacity:1;" /> + <stop + id="stop3120" + offset="1" + style="stop-color:#82508e;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient3124" + inkscape:collect="always"> + <stop + id="stop3126" + offset="0" + style="stop-color:#3b1941;stop-opacity:1;" /> + <stop + id="stop3128" + offset="1" + style="stop-color:#3b1941;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2850" + id="linearGradient2187" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.769231,0,0,0.714287,47.76924,-9.285729)" + x1="21.785719" + y1="28.142857" + x2="17.785713" + y2="30.07143" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2850" + id="linearGradient2195" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.769231,0,0,0.714287,13.76923,-8.28573)" + x1="21.785719" + y1="28.142857" + x2="17.785713" + y2="30.07143" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3958" + id="radialGradient2209" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.116159,0,0,1.076653,14.60502,-22.28695)" + cx="9.0640488" + cy="21.511742" + fx="9.0640488" + fy="21.511742" + r="16.663956" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6506" + id="linearGradient2211" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.660903,0,0,0.627207,18.73149,-12.3201)" + x1="15.645709" + y1="39.743458" + x2="15.645709" + y2="53.502155" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3968" + id="linearGradient2214" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.67692,0,0,0.646801,18.46433,-12.90841)" + x1="16.13257" + y1="40.781811" + x2="16.13257" + y2="48.068741" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3976" + id="linearGradient2216" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.67692,0,0,0.646801,18.46433,-12.90841)" + x1="12.095973" + y1="40.907658" + x2="12.095973" + y2="46.463146" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6537" + id="linearGradient2219" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.668893,0,0,0.668627,18.08624,-12.19246)" + x1="30.5" + y1="0.033532728" + x2="30.5" + y2="23.559282" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3108" + id="linearGradient2229" + gradientUnits="userSpaceOnUse" + x1="10.18327" + y1="16.618088" + x2="27.598003" + y2="36.64465" + gradientTransform="matrix(0.660903,0,0,0.627207,49.74106,-7.361383)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6506" + id="linearGradient2231" + gradientUnits="userSpaceOnUse" + x1="15.645709" + y1="39.743458" + x2="15.645709" + y2="53.502155" + gradientTransform="matrix(0.660903,0,0,0.627207,49.74106,-7.361383)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3116" + id="linearGradient2234" + gradientUnits="userSpaceOnUse" + x1="15.722902" + y1="39.585075" + x2="15.722902" + y2="45.76453" + gradientTransform="matrix(0.67692,0,0,0.646801,49.4739,-7.949693)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3124" + id="linearGradient2236" + gradientUnits="userSpaceOnUse" + x1="13.150809" + y1="39.39394" + x2="13.150809" + y2="45.551888" + gradientTransform="matrix(0.67692,0,0,0.646801,49.4739,-7.949693)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3128" + id="linearGradient3134" + x1="8.0725698" + y1="17.765934" + x2="24.284664" + y2="37.578945" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3141" + id="linearGradient3147" + x1="12.353984" + y1="38.611191" + x2="12.353984" + y2="45.595356" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient3155" + x1="10.166225" + y1="38.766953" + x2="10.166225" + y2="45.595673" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3157" + id="linearGradient3163" + x1="11.982447" + y1="39.088425" + x2="11.982447" + y2="45.778931" + gradientUnits="userSpaceOnUse" /> </defs> <sodipodi:namedview id="base" @@ -229,17 +663,17 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="42.440064" - inkscape:cx="13.087113" - inkscape:cy="8.5298663" + inkscape:zoom="30.009658" + inkscape:cx="12.410351" + inkscape:cy="9.6914614" inkscape:current-layer="layer1" showgrid="true" inkscape:grid-bbox="true" inkscape:document-units="px" - inkscape:window-width="1274" - inkscape:window-height="966" - inkscape:window-x="3" - inkscape:window-y="25" + inkscape:window-width="1434" + inkscape:window-height="840" + inkscape:window-x="0" + inkscape:window-y="0" showguides="true" inkscape:guide-bbox="true" inkscape:grid-points="false" @@ -268,7 +702,7 @@ transform="matrix(1.148904,0,0,0.920169,-34.28919,-3.241212)" sodipodi:nodetypes="csccccc" /> <path - style="opacity:1;fill:#82508e;fill-opacity:1;stroke:#3b1941;stroke-width:2.30209565;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + style="opacity:1;fill:url(#linearGradient3147);fill-opacity:1.0;stroke:url(#linearGradient3155);stroke-width:2.30209565;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.884078 26,30.884078 C 26.641306,29.354278 28.01889,26.891006 28.01889,25.115922 C 28.01889,18.215923 21.624002,13 15,13 z " id="path5176" sodipodi:nodetypes="ccccszcsc" @@ -284,34 +718,17 @@ ry="0.32910046" transform="matrix(1.147027,0,0,0.866113,-0.324314,2.386999)" /> <path - sodipodi:type="arc" - style="opacity:1;fill:url(#radialGradient5286);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path5273" - sodipodi:cx="15.004828" - sodipodi:cy="39.80859" - sodipodi:rx="9.7225161" - sodipodi:ry="7.119638" - d="M 24.727345 39.80859 A 9.7225161 7.119638 0 1 1 5.2823124,39.80859 A 9.7225161 7.119638 0 1 1 24.727345 39.80859 z" - transform="matrix(0.434788,0,0,0.500648,-1.130366,-6.547801)" /> - <path - style="opacity:0.5152838;fill:#5c3466;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M -42.833794,49.038847 C -42.833794,49.038847 -42.815855,44.709724 -42.815855,37.951005 C -42.815855,37.951005 -39.03087,40.509965 -38.631892,41.678764 C -39.153711,41.596001 -40.372039,41.685633 -40.372039,41.685633 C -40.038351,42.463101 -38.163796,45.952105 -36.121045,48.058218 C -37.780497,47.329365 -39.471111,47.196178 -39.471111,47.196178 C -39.009636,48.111847 -37.250115,48.69173 -36.943887,49.110993 C -36.943887,49.110993 -41.348464,49.038847 -42.833794,49.038847 z " - id="rect5312" - sodipodi:nodetypes="cccccccc" - transform="matrix(0.446908,0,0,0.358425,20.14277,-2.602607)" /> - <path - style="opacity:0.5152838;fill:#5c3466;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M -49.441852,47.4154 C -47.112614,42.001764 -42.19329,43.469796 -40.961409,37.951005 C -40.961409,37.951005 -39.025024,40.280009 -38.974466,41.581367 C -39.496285,41.498604 -39.881988,41.516405 -39.881988,41.516405 C -39.5483,42.293873 -38.196948,45.748112 -36.154197,47.854225 C -37.813649,47.125372 -38.925816,46.898039 -38.925816,46.898039 C -38.847603,47.794771 -38.376224,47.369394 -38.122982,48.215235 C -42.942294,48.046898 -46.252916,49.195571 -49.441852,47.4154 z " - id="path5317" - sodipodi:nodetypes="cccccccc" - transform="matrix(-0.376289,0,0,0.381853,-5.604413,-3.491724)" /> - <path transform="matrix(0.399589,0,0,0.393554,-5.973603e-2,-3.038964)" - style="opacity:0.31004363;fill:url(#linearGradient5310);fill-opacity:1;stroke:url(#linearGradient6512);stroke-width:2.5216887;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + style="opacity:0.5;fill:url(#linearGradient3134);fill-opacity:1.0;stroke:url(#linearGradient3163);stroke-width:2.5216887;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 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 24.86993,44.470084 30.695903,44.470084 C 29.746978,42.549359 26.273076,40.711023 23.972608,38.78763 C 23.362603,37.973536 23.023697,35.459892 22.969233,34.418473 C 23.611113,31.359155 25.129532,28.401757 26.527172,25.440129 C 26.527172,19.094533 21.022436,14.0625 15,14.0625 z " id="path5241" sodipodi:nodetypes="csccccccc" /> <path + style="opacity:1;fill:#a46bb0;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" + d="M 6,7.2175674 C 6,8.8735678 4.5070272,10 3.4999996,10 C 2.1199999,10 1,8.6559998 1,6.9999995 C 1,5.5609093 1.7677476,4 3.1477475,4 C 4.5277481,4 6,5.9092686 6,7.2175674 z " + id="path3137" + sodipodi:nodetypes="csssc" /> + <path transform="matrix(0.626764,0,0,0.689441,-3.309086,-9.833164)" 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 " @@ -326,7 +743,12 @@ 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(0.805756,0,0,0.772414,-5.19425,-11.77932)" /> + transform="matrix(1.208634,0,0,1.158623,-8.791372,-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 " + id="path3139" + sodipodi:nodetypes="csssc" /> <path transform="matrix(0.29055,-0.412361,-0.273947,-0.388798,13.58792,20.45445)" style="opacity:1;fill:white;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" @@ -342,30 +764,21 @@ 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(0.805755,0,0,0.772417,0.805755,-11.77938)" /> + transform="matrix(1.208633,0,0,1.158626,-2.791363,-20.66909)" /> <path - transform="matrix(0.63556,0,0,0.371992,4.635114,-6.489142)" - style="fill:#f9751a;fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1" - d="M -0.99929609,42.004237 C 2.9290204,42.117701 4.1278823,38.950282 4.9828709,38.950282 C 5.8260957,38.950282 7.1161651,42.240122 10.014606,42.007796 C 9.2074596,43.955072 6.7265914,47.014858 5.6807127,47.014858 C 4.6230593,47.014858 0.31231911,44.880662 -0.99929609,42.004237 z " - id="rect5187" - sodipodi:nodetypes="ccczc" /> - <path - transform="matrix(0.743268,0,0,0.267357,-7.659906,-1.671861)" 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 -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 " id="path5192" sodipodi:nodetypes="cccc" /> <path - transform="matrix(0.686065,0,0,0.46633,-5.019573,-4.365629)" - 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 " - id="rect5189" - sodipodi:nodetypes="cccc" /> + style="fill:#fcaf3e;fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1" + d="M 4,8.9694498 C 6.5363255,9.6796143 7.1434322,8 7.6676187,8 C 8.1845929,8 8.1150542,9.7216455 10.752536,9.1373864 C 10.257681,9.8617678 8.7366795,11 8.0954601,11 C 7.4470215,11 4.8041406,10.039472 4,8.9694498 z " + id="path3987" + sodipodi:nodetypes="czczc" /> <path - transform="matrix(0.63556,0,0,0.371995,4.635112,-6.489295)" - style="fill:url(#linearGradient6823);fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1" - d="M -0.99929609,42.004237 C 2.9290204,42.117701 4.1278823,38.950282 4.9828709,38.950282 C 5.8260957,38.950282 7.1161651,42.240122 10.014606,42.007796 C 9.2074596,43.955072 6.7265914,47.014858 5.6807127,47.014858 C 4.6230593,47.014858 0.31231911,44.880662 -0.99929609,42.004237 z " - id="path6815" - sodipodi:nodetypes="ccczc" /> + style="fill:#3b1941;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" + d="M 2.5678134,0.78213791 C 3.0667903,-0.57115198 7,-0.11652293 7,1.7459005 L 5.3127098,0.99839721 L 2.5678134,0.78213791 z " + id="path1991" + sodipodi:nodetypes="cccc" /> </g> </svg>
--- a/pidgin/pixmaps/icons/24/scalable/pidgin.svg Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/icons/24/scalable/pidgin.svg Thu Jun 21 20:37:57 2007 +0000 @@ -14,9 +14,9 @@ id="svg4345" sodipodi:version="0.32" inkscape:version="0.44.1" - sodipodi:docbase="/home/hbons/Desktop/icons/24/scalable" + sodipodi:docbase="/home/hbons/Desktop/2.0.2/pidgin/pixmaps/icons/24/scalable" sodipodi:docname="pidgin.svg" - inkscape:export-filename="/home/hbons/Desktop/pidgin24-2.png" + inkscape:export-filename="/home/hbons/Desktop/pidgin24.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" version="1.0"> @@ -24,6 +24,42 @@ id="defs4347"> <linearGradient inkscape:collect="always" + id="linearGradient3124"> + <stop + style="stop-color:#3b1941;stop-opacity:1;" + offset="0" + id="stop3126" /> + <stop + style="stop-color:#3b1941;stop-opacity:0;" + offset="1" + id="stop3128" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3116"> + <stop + style="stop-color:#82508e;stop-opacity:1;" + offset="0" + id="stop3118" /> + <stop + style="stop-color:#82508e;stop-opacity:0;" + offset="1" + id="stop3120" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3108"> + <stop + style="stop-color:#eeeeec;stop-opacity:1;" + offset="0" + id="stop3110" /> + <stop + style="stop-color:#eeeeec;stop-opacity:0;" + offset="1" + id="stop3112" /> + </linearGradient> + <linearGradient + inkscape:collect="always" id="linearGradient5438"> <stop style="stop-color:white;stop-opacity:1;" @@ -71,30 +107,6 @@ id="stop6510" /> </linearGradient> <linearGradient - inkscape:collect="always" - id="linearGradient5304"> - <stop - style="stop-color:#2e3436;stop-opacity:1;" - offset="0" - id="stop5306" /> - <stop - style="stop-color:#2e3436;stop-opacity:0;" - offset="1" - id="stop5308" /> - </linearGradient> - <linearGradient - inkscape:collect="always" - id="linearGradient5280"> - <stop - style="stop-color:#82508e;stop-opacity:1;" - offset="0" - id="stop5282" /> - <stop - style="stop-color:#82508e;stop-opacity:0;" - offset="1" - id="stop5284" /> - </linearGradient> - <linearGradient id="linearGradient2804"> <stop style="stop-color:black;stop-opacity:0;" @@ -165,43 +177,14 @@ offset="1.0000000" id="stop3804" /> </linearGradient> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient5280" - id="radialGradient5286" - cx="15.004828" - cy="39.80859" - fx="15.004828" - fy="39.80859" - r="9.7225161" - gradientTransform="matrix(1,0,0,0.732283,0,10.65742)" - gradientUnits="userSpaceOnUse" /> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient5304" - id="linearGradient5310" - x1="12.606371" - y1="15.069461" - x2="12.606371" - y2="21.152372" - gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient6506" id="linearGradient6512" x1="15.645709" - y1="39.743458" + y1="40.434063" x2="15.645709" - y2="53.502155" - gradientUnits="userSpaceOnUse" /> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient6537" - id="linearGradient6543" - x1="30.5" - y1="0.033532728" - x2="30.5" - y2="23.559282" + y2="43.693668" gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" @@ -221,6 +204,250 @@ x2="30.152058" y2="23.011967" gradientUnits="userSpaceOnUse" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="44.272076" + x2="5.5366187" + y1="39.902092" + x1="-1.6841649" + id="linearGradient6569" + xlink:href="#linearGradient6563" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="23.559282" + x2="30.5" + y1="0.033532728" + x1="30.5" + id="linearGradient2089" + xlink:href="#linearGradient6537" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="50.079575" + x2="14.943421" + y1="39.743458" + x1="15.645709" + id="linearGradient2087" + xlink:href="#linearGradient6506" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2081"> + <stop + id="stop2083" + offset="0.0000000" + style="stop-color:#f4d9b1;stop-opacity:1.0000000;" /> + <stop + id="stop2085" + offset="1.0000000" + style="stop-color:#df9725;stop-opacity:1.0000000;" /> + </linearGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.131317,0,0,1.125313,-1.035262,-0.301139)" + r="8.4883642" + fy="2.6242435" + fx="7.8836637" + cy="2.6242435" + cx="7.8836637" + id="radialGradient2079" + xlink:href="#linearGradient25546" + inkscape:collect="always" /> + <radialGradient + r="8.4883642" + fy="0.14505707" + fx="7.8836741" + cy="0.14505707" + cx="7.8836741" + gradientTransform="matrix(1,0,0,0.994693,0,4.16407e-2)" + gradientUnits="userSpaceOnUse" + id="radialGradient2071" + xlink:href="#linearGradient25546" + inkscape:collect="always" /> + <radialGradient + r="8.4883642" + fy="1.5104795" + fx="7.8836637" + cy="1.5104795" + cx="7.8836637" + gradientTransform="matrix(1,0,0,0.994693,0,4.16407e-2)" + gradientUnits="userSpaceOnUse" + id="radialGradient2069" + xlink:href="#linearGradient25546" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2061"> + <stop + id="stop2063" + offset="0" + style="stop-color:black;stop-opacity:0;" /> + <stop + style="stop-color:black;stop-opacity:1;" + offset="0.5" + id="stop2065" /> + <stop + id="stop2067" + offset="1" + style="stop-color:black;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient6563" + inkscape:collect="always"> + <stop + id="stop6565" + offset="0" + style="stop-color:white;stop-opacity:1;" /> + <stop + id="stop6567" + offset="1" + style="stop-color:white;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2850" + inkscape:collect="always"> + <stop + id="stop2852" + offset="0" + style="stop-color:#ce5c00;stop-opacity:1;" /> + <stop + id="stop2854" + offset="1" + style="stop-color:#ce5c00;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient3958" + inkscape:collect="always"> + <stop + id="stop3960" + offset="0" + style="stop-color:#eeeeec;stop-opacity:1;" /> + <stop + id="stop3962" + offset="1" + style="stop-color:#eeeeec;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient3968" + inkscape:collect="always"> + <stop + id="stop3970" + offset="0" + style="stop-color:#82508e;stop-opacity:1;" /> + <stop + id="stop3972" + offset="1" + style="stop-color:#82508e;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient3976" + inkscape:collect="always"> + <stop + id="stop3978" + offset="0" + style="stop-color:#3b1941;stop-opacity:1;" /> + <stop + id="stop3980" + offset="1" + style="stop-color:#3b1941;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2850" + id="linearGradient2149" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.769231,0,0,0.714287,-34.23081,-12.28573)" + x1="21.785719" + y1="28.142857" + x2="17.785713" + y2="30.07143" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3958" + id="radialGradient2191" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.116159,0,0,1.076653,-36.39499,-20.28695)" + cx="9.0640488" + cy="21.511742" + fx="9.0640488" + fy="21.511742" + r="16.663956" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6506" + id="linearGradient2193" + gradientUnits="userSpaceOnUse" + x1="15.645709" + y1="39.743458" + x2="15.645709" + y2="53.502155" + gradientTransform="matrix(0.660903,0,0,0.627207,-32.26852,-10.3201)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3968" + id="linearGradient2196" + gradientUnits="userSpaceOnUse" + x1="16.13257" + y1="40.781811" + x2="16.13257" + y2="48.068741" + gradientTransform="matrix(0.67692,0,0,0.646801,-32.53568,-10.90841)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3976" + id="linearGradient2198" + gradientUnits="userSpaceOnUse" + x1="12.095973" + y1="40.907658" + x2="12.095973" + y2="46.463146" + gradientTransform="matrix(0.67692,0,0,0.646801,-32.53568,-10.90841)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6537" + id="linearGradient2201" + gradientUnits="userSpaceOnUse" + x1="30.5" + y1="0.033532728" + x2="30.5" + y2="23.559282" + gradientTransform="matrix(0.668893,0,0,0.668627,-32.91377,-10.19246)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3108" + id="linearGradient3114" + x1="10.18327" + y1="16.618088" + x2="27.598003" + y2="36.64465" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3116" + id="linearGradient3122" + x1="15.722902" + y1="39.585075" + x2="15.722902" + y2="45.76453" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3124" + id="linearGradient3130" + x1="13.150809" + y1="39.39394" + x2="13.150809" + y2="45.551888" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2850" + id="linearGradient3146" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.769231,0,0,0.714287,-3.230767,-7.285729)" + x1="21.785719" + y1="28.142857" + x2="17.785713" + y2="30.07143" /> </defs> <sodipodi:namedview id="base" @@ -229,17 +456,17 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="26.124924" - inkscape:cx="19.621039" - inkscape:cy="12.735051" + inkscape:zoom="16.081777" + inkscape:cx="21.855503" + inkscape:cy="14.873812" inkscape:current-layer="layer1" showgrid="true" inkscape:grid-bbox="true" inkscape:document-units="px" - inkscape:window-width="1274" - inkscape:window-height="966" - inkscape:window-x="3" - inkscape:window-y="25" + inkscape:window-width="1434" + inkscape:window-height="840" + inkscape:window-x="0" + inkscape:window-y="0" showguides="true" inkscape:guide-bbox="true" inkscape:grid-points="false" @@ -282,44 +509,21 @@ transform="matrix(1.747787,0,0,1.397993,-52.41719,-5.183942)" sodipodi:nodetypes="csccccc" /> <path - style="opacity:1;fill:#82508e;fill-opacity:1;stroke:#3b1941;stroke-width:1.51128328;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + 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 " id="path5176" sodipodi:nodetypes="ccccszcsc" transform="matrix(0.67692,0,0,0.646801,-1.52611,-5.949693)" /> <path - sodipodi:type="arc" - style="opacity:1;fill:url(#radialGradient5286);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path5273" - sodipodi:cx="15.004828" - sodipodi:cy="39.80859" - sodipodi:rx="9.7225161" - sodipodi:ry="7.119638" - d="M 24.727345 39.80859 A 9.7225161 7.119638 0 1 1 5.2823124,39.80859 A 9.7225161 7.119638 0 1 1 24.727345 39.80859 z" - transform="matrix(0.661428,0,0,0.760624,-1.973841,-10.20757)" /> - <path - style="opacity:0.5152838;fill:#5c3466;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M -42.833794,49.038847 C -42.833794,49.038847 -42.815855,44.709724 -42.815855,37.951005 C -42.815855,37.951005 -39.03087,40.509965 -38.631892,41.678764 C -39.153711,41.596001 -40.372039,41.685633 -40.372039,41.685633 C -40.038351,42.463101 -38.163796,45.952105 -36.121045,48.058218 C -37.780497,47.329365 -39.471111,47.196178 -39.471111,47.196178 C -39.009636,48.111847 -37.250115,48.69173 -36.943887,49.110993 C -36.943887,49.110993 -41.348464,49.038847 -42.833794,49.038847 z " - id="rect5312" - sodipodi:nodetypes="cccccccc" - transform="matrix(0.799568,0,0,0.627241,35.24855,-7.804428)" /> - <path - style="opacity:0.5152838;fill:#5c3466;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M -49.441852,47.4154 C -48.364983,40.273995 -40.690447,44.765623 -40.961409,37.951005 C -40.961409,37.951005 -39.025024,40.280009 -38.974466,41.581367 C -39.496285,41.498604 -39.881988,41.516405 -39.881988,41.516405 C -39.5483,42.293873 -38.196948,45.748112 -36.154197,47.854225 C -37.813649,47.125372 -38.925816,46.898039 -38.925816,46.898039 C -38.847603,47.794771 -38.376224,47.369394 -38.122982,48.215235 C -42.942294,48.046898 -46.252916,49.195571 -49.441852,47.4154 z " - id="path5317" - sodipodi:nodetypes="cccccccc" - transform="matrix(-0.602064,0,0,0.572779,-9.767144,-4.737575)" /> - <path transform="matrix(0.660903,0,0,0.627207,-1.258953,-5.361383)" - style="opacity:0.31004363;fill:url(#linearGradient5310);fill-opacity:1;stroke:url(#linearGradient6512);stroke-width:1.55319395;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + 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 " id="path5241" sodipodi:nodetypes="cscccssccsscssc" /> <path - transform="matrix(-0.861857,-0.809791,0.812609,-0.76352,-5.667036,37.33378)" - style="opacity:1;fill:#a46bb0;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 " - id="path5160" + 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 " + id="path3138" sodipodi:nodetypes="csssc" /> <path transform="matrix(1.010846,0,0,1.029732,-5.552971,-15.17001)" @@ -336,45 +540,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(0.805757,0,0,0.772415,-3.184731,-8.820615)" /> - <path - transform="matrix(0.596326,-0.813274,-0.562251,-0.766804,22.42583,37.43862)" - style="opacity:1;fill:#975fa3;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 " - id="path5167" - sodipodi:nodetypes="csssc" /> - <path - transform="matrix(0.447398,-0.672135,-0.421833,-0.633728,21.07418,32.19024)" - 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 " - id="path5169" - sodipodi:nodetypes="csssc" /> - <path - sodipodi:type="arc" - style="opacity:1;fill:#5c3566;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path5171" - sodipodi:cx="10.169642" - sodipodi:cy="24.3125" - 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(0.805756,0,0,0.784291,6.815275,-9.124735)" /> - <rect - style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect5215" - width="5.6071429" - height="2.1785715" - x="16" - y="27" - transform="matrix(0.724348,0,0,0.459012,-2.641559,0.565398)" - rx="0.87366539" - ry="1.0892857" /> - <path - transform="matrix(0.798987,0,0,0.495994,7.007995,-6.360384)" - style="fill:#f9751a;fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1" - d="M -0.99929609,42.004237 C 2.9290204,42.117701 4.1278823,38.950282 4.9828709,38.950282 C 5.8260957,38.950282 7.1161651,42.240122 10.014606,42.007796 C 9.2074596,43.955072 6.7265914,47.014858 5.6807127,47.014858 C 4.6230593,47.014858 0.31231911,44.880662 -0.99929609,42.004237 z " - id="rect5187" - sodipodi:nodetypes="ccczc" /> + transform="matrix(1.208633,0,0,1.158621,-6.791366,-17.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" @@ -387,11 +553,53 @@ 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 " 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 - transform="matrix(0.798987,0,0,0.495994,7.007995,-6.360384)" - style="fill:url(#linearGradient6823);fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1" - d="M -0.99929609,42.004237 C 2.9290204,42.117701 4.1278823,38.950282 4.9828709,38.950282 C 5.8260957,38.950282 7.1161651,42.240122 10.014606,42.007796 C 9.2074596,43.955072 6.7265914,47.014858 5.6807127,47.014858 C 4.6230593,47.014858 0.31231911,44.880662 -0.99929609,42.004237 z " - id="path6815" - sodipodi:nodetypes="ccczc" /> + 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 " + 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 " + id="path3134" + sodipodi:nodetypes="csssc" /> + <path + sodipodi:type="arc" + style="fill:#5c3566;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path3136" + sodipodi:cx="10.169642" + sodipodi:cy="24.3125" + 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)" /> + <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" + 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 " + 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 " + id="path3144" + sodipodi:nodetypes="czczc" /> </g> </svg>
--- a/pidgin/pixmaps/icons/32/scalable/pidgin.svg Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/icons/32/scalable/pidgin.svg Thu Jun 21 20:37:57 2007 +0000 @@ -14,9 +14,9 @@ id="svg4345" sodipodi:version="0.32" inkscape:version="0.44.1" - sodipodi:docbase="/home/hbons/code/pidgin-mtn/pidgin/pixmaps/icons/32/scalable" + sodipodi:docbase="/home/hbons/Desktop/2.0.2/pidgin/pixmaps/icons/32/scalable" sodipodi:docname="pidgin.svg" - inkscape:export-filename="/home/hbons/code/pidgin-mtn/pidgin/pixmaps/icons/32/pidgin.png" + inkscape:export-filename="/home/hbons/Desktop/pidgin32.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" version="1.0"> @@ -24,18 +24,131 @@ id="defs4347"> <linearGradient inkscape:collect="always" - id="linearGradient6817"> + id="linearGradient3976"> + <stop + style="stop-color:#3b1941;stop-opacity:1;" + offset="0" + id="stop3978" /> + <stop + style="stop-color:#3b1941;stop-opacity:0;" + offset="1" + id="stop3980" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3968"> + <stop + style="stop-color:#82508e;stop-opacity:1;" + offset="0" + id="stop3970" /> + <stop + style="stop-color:#82508e;stop-opacity:0;" + offset="1" + id="stop3972" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3958"> + <stop + style="stop-color:#eeeeec;stop-opacity:1;" + offset="0" + id="stop3960" /> <stop - style="stop-color:white;stop-opacity:1;" + style="stop-color:#eeeeec;stop-opacity:0;" + offset="1" + id="stop3962" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2850"> + <stop + style="stop-color:#ce5c00;stop-opacity:1;" + offset="0" + id="stop2852" /> + <stop + style="stop-color:#ce5c00;stop-opacity:0;" + offset="1" + id="stop2854" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2850" + id="linearGradient2856" + x1="21.785719" + y1="28.142857" + x2="17.785713" + y2="30.07143" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-47,-15.99998)" /> + <linearGradient + inkscape:collect="always" + id="linearGradient2816"> + <stop + style="stop-color:#eeeeec;stop-opacity:1;" offset="0" - id="stop6819" /> + id="stop2818" /> + <stop + style="stop-color:#eeeeec;stop-opacity:0;" + offset="1" + id="stop2820" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2816" + id="radialGradient2824" + cx="9.4288578" + cy="19.283415" + fx="9.4288578" + fy="19.283415" + r="16.390338" + gradientTransform="matrix(1.556432,0,0,1.618148,-52.04294,-30.39321)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + id="linearGradient2826"> + <stop + style="stop-color:#3b1941;stop-opacity:1;" + offset="0" + id="stop2828" /> <stop - style="stop-color:white;stop-opacity:0;" + style="stop-color:#3b1941;stop-opacity:0;" offset="1" - id="stop6821" /> + id="stop2830" /> </linearGradient> <linearGradient inkscape:collect="always" + xlink:href="#linearGradient2826" + id="linearGradient2832" + x1="13.191773" + y1="41.606163" + x2="13.191773" + y2="47.843258" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.988192,-46.55265,-16.48621)" /> + <linearGradient + inkscape:collect="always" + id="linearGradient2834"> + <stop + style="stop-color:#82508e;stop-opacity:1;" + offset="0" + id="stop2836" /> + <stop + style="stop-color:#82508e;stop-opacity:0;" + offset="1" + id="stop2838" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2834" + id="linearGradient2840" + x1="11.373499" + y1="41.566242" + x2="11.373499" + y2="47.746658" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.988192,-46.55265,-16.48621)" /> + <linearGradient + inkscape:collect="always" id="linearGradient6563"> <stop style="stop-color:white;stop-opacity:1;" @@ -71,30 +184,6 @@ id="stop6510" /> </linearGradient> <linearGradient - inkscape:collect="always" - id="linearGradient5304"> - <stop - style="stop-color:#2e3436;stop-opacity:1;" - offset="0" - id="stop5306" /> - <stop - style="stop-color:#2e3436;stop-opacity:0;" - offset="1" - id="stop5308" /> - </linearGradient> - <linearGradient - inkscape:collect="always" - id="linearGradient5280"> - <stop - style="stop-color:#82508e;stop-opacity:1;" - offset="0" - id="stop5282" /> - <stop - style="stop-color:#82508e;stop-opacity:0;" - offset="1" - id="stop5284" /> - </linearGradient> - <linearGradient id="linearGradient2804"> <stop style="stop-color:black;stop-opacity:0;" @@ -165,34 +254,14 @@ offset="1.0000000" id="stop3804" /> </linearGradient> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient5280" - id="radialGradient5286" - cx="15.004828" - cy="39.80859" - fx="15.004828" - fy="39.80859" - r="9.7225161" - gradientTransform="matrix(1,0,0,0.732283,0,10.65742)" - gradientUnits="userSpaceOnUse" /> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient5304" - id="linearGradient5310" - x1="12.606371" - y1="15.069461" - x2="12.606371" - y2="21.152372" - gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient6506" id="linearGradient6512" x1="15.645709" y1="39.743458" - x2="15.645709" - y2="53.502155" + x2="14.943421" + y2="50.079575" gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" @@ -214,13 +283,62 @@ gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" - xlink:href="#linearGradient6817" - id="linearGradient6823" - x1="0.23931108" - y1="38.950283" - x2="5.7089725" - y2="42.982571" + xlink:href="#linearGradient6537" + id="linearGradient3069" + gradientUnits="userSpaceOnUse" + x1="30.5" + y1="0.033532728" + x2="30.5" + y2="23.559282" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6506" + id="linearGradient3071" + gradientUnits="userSpaceOnUse" + x1="15.645709" + y1="39.743458" + x2="15.645709" + y2="53.502155" + gradientTransform="translate(-47,-15)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3958" + id="radialGradient3966" + cx="9.0640488" + cy="21.511742" + fx="9.0640488" + fy="21.511742" + r="16.663956" + gradientTransform="matrix(1.68884,0,0,1.716583,-6.243689,-15.89085)" gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3968" + id="linearGradient3974" + x1="16.13257" + y1="40.781811" + x2="16.13257" + y2="48.068741" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3976" + id="linearGradient3982" + x1="12.095973" + y1="40.907658" + x2="12.095973" + y2="46.463146" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2850" + id="linearGradient3991" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.769231,0,0,0.714287,-1.230773,-2.285726)" + x1="21.785719" + y1="28.142857" + x2="17.785713" + y2="30.07143" /> </defs> <sodipodi:namedview id="base" @@ -229,17 +347,17 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="21.220032" - inkscape:cx="25.558911" - inkscape:cy="16.91503" + inkscape:zoom="17.236022" + inkscape:cx="21.944662" + inkscape:cy="16.287609" inkscape:current-layer="layer1" showgrid="true" inkscape:grid-bbox="true" inkscape:document-units="px" - inkscape:window-width="1274" - inkscape:window-height="966" - inkscape:window-x="3" - inkscape:window-y="25" + inkscape:window-width="1434" + inkscape:window-height="840" + inkscape:window-x="0" + inkscape:window-y="0" showguides="true" inkscape:guide-bbox="true" inkscape:grid-points="false" @@ -261,16 +379,6 @@ id="layer1" inkscape:label="Layer 1" inkscape:groupmode="layer"> - <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="rect6514" - width="5.0217423" - height="5.2252574" - x="42.978256" - y="44" - rx="0.28473777" - ry="2.6126287" - transform="matrix(4.779203,0,0,0.382753,-205.4017,13.15888)" /> <path sodipodi:type="inkscape:offset" inkscape:radius="-1.0057179" @@ -292,51 +400,28 @@ id="path6535" sodipodi:nodetypes="cccccccccccccc" /> <path - style="opacity:1;fill:#82508e;fill-opacity:1;stroke:#3b1941;stroke-width:1.51128328;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + style="opacity:1;fill:url(#linearGradient3974);fill-opacity:1.0;stroke:url(#linearGradient3982);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 4.8460021,40.483064 0.49299658,38.484005 0.052646307,45.33795 C 0.052646307,47.422072 1.0380664,48.413461 3.1446965,48.413461 C 4.3321851,48.413461 29.360035,48.5596 32.051034,48.5596 C 34.165161,48.5596 34,46.5 34,46.5 C 34,43.834589 27.597902,41.598052 25.813453,39.641526 C 23.985035,37.640505 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 " id="path5176" sodipodi:nodetypes="cccccszcsc" transform="matrix(0.67692,0,0,0.646801,0.464358,-0.908413)" /> <path - sodipodi:type="arc" - style="opacity:1;fill:url(#radialGradient5286);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path5273" - sodipodi:cx="15.004828" - sodipodi:cy="39.80859" - sodipodi:rx="9.7225161" - sodipodi:ry="7.119638" - d="M 24.727345 39.80859 A 9.7225161 7.119638 0 1 1 5.2823124,39.80859 A 9.7225161 7.119638 0 1 1 24.727345 39.80859 z" - transform="matrix(0.661428,0,0,0.760624,1.662895e-2,-5.166292)" /> - <path - style="opacity:0.5152838;fill:#5c3466;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M -42.833794,47.629347 C -42.833794,47.629347 -43.26687,44.687985 -40.223294,37.951005 C -40.223294,37.951005 -39.03087,40.509965 -38.631892,41.678764 C -39.153711,41.596001 -40.372039,41.685633 -40.372039,41.685633 C -40.038351,42.463101 -38.163796,45.952105 -36.121045,48.058218 C -37.780497,47.329365 -39.471111,47.196178 -39.471111,47.196178 C -39.009636,48.111847 -37.250115,48.69173 -36.943887,49.110993 C -36.943887,49.110993 -42.597127,49.864236 -42.833794,47.629347 z " - id="rect5312" - sodipodi:nodetypes="cccccccc" - transform="matrix(0.797045,0,0,0.733236,35.01127,-5.421684)" /> - <path - style="opacity:0.5152838;fill:#5c3466;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M -49.441852,47.4154 C -48.364983,40.273995 -40.690447,44.765623 -40.961409,37.951005 C -40.961409,37.951005 -39.025024,40.280009 -38.974466,41.581367 C -39.496285,41.498604 -39.881988,41.516405 -39.881988,41.516405 C -39.5483,42.293873 -38.196948,45.748112 -36.154197,47.854225 C -37.813649,47.125372 -38.925816,46.898039 -38.925816,46.898039 C -38.847603,47.794771 -38.376224,47.369394 -38.122982,48.215235 C -42.942294,48.046898 -46.252916,49.195571 -49.441852,47.4154 z " - id="path5317" - sodipodi:nodetypes="cccccccc" - transform="matrix(-0.724368,0,0,0.660383,-12.52413,-1.979892)" /> - <path - transform="matrix(0.660903,0,0,0.627207,0.731515,-0.320103)" - style="opacity:0.31004363;fill:url(#linearGradient5310);fill-opacity:1;stroke:url(#linearGradient6512);stroke-width:1.55319357;stroke-miterlimit:4;stroke-opacity:1" + style="opacity:0.5;fill:url(#radialGradient3966);fill-opacity:1.0;stroke:url(#linearGradient6512);stroke-width:1.55319357;stroke-miterlimit:4;stroke-opacity:1" d="M 15,14.0625 C 8.9877035,14.0625 4.0789961,19.13808 4.0625,25.46875 C 4.0624722,25.479427 4.0625,25.489316 4.0625,25.5 C 4.9744187,33.020507 4.3062656,37.469969 2.59375,40.59375 C -0.19778709,46.24536 1.5610206,47.490284 3.9033639,47.490284 C 5.8399452,47.490284 23.958121,47.46049 29.784094,47.46049 C 30.951301,47.46049 32.9375,47.964563 32.9375,46.5 C 32.9375,46.278257 32.737749,45.861323 32.1875,45.34375 C 31.637251,44.826177 30.81426,44.270409 29.90625,43.71875 C 28.99824,43.167091 28.02821,42.609033 27.15625,42.0625 C 26.28429,41.515967 25.511654,41.005793 24.96875,40.28125 C 24.358745,39.467156 24.078806,38.510169 24.024342,37.46875 C 23.969878,36.427331 24.107721,35.310041 24.224561,34.25 C 24.458241,32.129917 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 " id="path5241" - sodipodi:nodetypes="csscccssssssscssc" /> + sodipodi:nodetypes="csscccssssssscssc" + transform="matrix(0.660903,0,0,0.627207,0.731515,-0.320103)" /> <path - transform="matrix(-0.861857,-0.809791,0.812609,-0.76352,-3.676568,42.37505)" style="opacity:1;fill:#a46bb0;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 5.0726004,12.086499 C 6.6079483,10.449324 9.1057173,10.885492 10.086057,11.930848 C 11.429483,13.36337 11.273722,15.85472 9.7383746,17.491894 C 8.4041332,18.914624 6.2095475,19.660821 4.8661202,18.228299 C 3.5226923,16.795776 3.8596213,13.379925 5.0726004,12.086499 z " id="path5160" sodipodi:nodetypes="csssc" /> <path - transform="matrix(1.010846,0,0,1.029732,-3.562503,-10.12874)" 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 " id="path5157" - sodipodi:nodetypes="csssc" /> + sodipodi:nodetypes="csssc" + transform="matrix(1.010846,0,0,1.029732,-3.562503,-10.12874)" /> <path sodipodi:type="arc" style="opacity:1;fill:#5c3566;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" @@ -346,7 +431,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(0.805757,0,0,0.772415,-1.194263,-3.779337)" /> + transform="matrix(1.208633,0,0,1.158621,-4.791365,-12.66897)" /> <path transform="matrix(0.596326,-0.813274,-0.562251,-0.766804,24.4163,42.47989)" style="opacity:1;fill:#975fa3;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" @@ -354,11 +439,11 @@ id="path5167" sodipodi:nodetypes="csssc" /> <path - transform="matrix(0.447398,-0.542185,-0.421833,-0.511203,23.06465,33.31996)" 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 " id="path5169" - sodipodi:nodetypes="csssc" /> + sodipodi:nodetypes="csssc" + transform="matrix(0.447398,-0.542185,-0.421833,-0.511203,23.06465,33.31996)" /> <path sodipodi:type="arc" style="opacity:1;fill:#5c3566;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" @@ -368,23 +453,16 @@ 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(0.805756,0,0,0.784291,8.805745,-4.083452)" /> + transform="matrix(1.208633,0,0,1.158621,5.208632,-12.66896)" /> <rect style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="rect5215" - width="5.6071429" - height="2.1785715" - x="16" - y="27" - transform="matrix(0.724348,0,0,0.459012,-0.651091,5.606678)" - rx="0.87366539" - ry="1.0892857" /> - <path - transform="matrix(0.798987,0,0,0.495994,8.99846,-1.319104)" - style="fill:#f9751a;fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1" - d="M -0.99929609,42.004237 C 2.9290204,42.117701 4.1278823,38.950282 4.9828709,38.950282 C 5.8260957,38.950282 7.1161651,42.240122 10.014606,42.007796 C 9.2074596,43.955072 6.7265914,47.014858 5.6807127,47.014858 C 4.6230593,47.014858 0.31231911,44.880662 -0.99929609,42.004237 z " - id="rect5187" - sodipodi:nodetypes="ccczc" /> + width="4.4400907" + height="1" + x="10.535856" + y="18" + rx="0.69182354" + ry="0.5" /> <path transform="matrix(0.670792,0,0,0.486348,-1.815475,1.13962)" style="fill:#3b1941;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" @@ -398,10 +476,14 @@ id="rect5189" sodipodi:nodetypes="cccc" /> <path - transform="matrix(0.798987,0,0,0.495994,8.99846,-1.319104)" - style="fill:url(#linearGradient6823);fill-opacity:1.0;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1" - d="M -0.99929609,42.004237 C 2.9290204,42.117701 4.1278823,38.950282 4.9828709,38.950282 C 5.8260957,38.950282 7.1161651,42.240122 10.014606,42.007796 C 9.2074596,43.955072 6.7265914,47.014858 5.6807127,47.014858 C 4.6230593,47.014858 0.31231911,44.880662 -0.99929609,42.004237 z " - id="path6815" - sodipodi:nodetypes="ccczc" /> + style="fill:#fcaf3e;fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1" + d="M 8,18.893438 C 13.088512,22.243015 12.655188,17 13.431469,17 C 14.197069,17 13.699301,22.201991 18,18.895644 C 17.267157,20.102946 15.014668,22 14.06507,22 C 13.104781,22 9.1908718,20.676807 8,18.893438 z " + id="path3987" + sodipodi:nodetypes="czczc" /> + <path + style="fill:url(#linearGradient3991);fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1" + d="M 8,18.893439 C 12.740404,23.171305 12.655188,17 13.431469,17 C 14.197069,17 13.641283,22.027939 18,18.895646 C 17.267157,20.102947 15.014668,22 14.06507,22 C 13.104781,22 9.1908731,20.676809 8,18.893439 z " + id="path3989" + sodipodi:nodetypes="czczc" /> </g> </svg>
--- a/pidgin/pixmaps/icons/48/scalable/pidgin.svg Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/icons/48/scalable/pidgin.svg Thu Jun 21 20:37:57 2007 +0000 @@ -14,15 +14,63 @@ id="svg4345" sodipodi:version="0.32" inkscape:version="0.44.1" - sodipodi:docbase="/home/hbons/Desktop/icons/48/scalable" + sodipodi:docbase="/home/hbons/Desktop/2.0.2/pidgin/pixmaps/icons/48/scalable" sodipodi:docname="pidgin.svg" - inkscape:export-filename="/home/hbons/Desktop/pidgin.png" + inkscape:export-filename="/home/hbons/Desktop/pidgin48.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90"> <defs id="defs4347"> <linearGradient inkscape:collect="always" + id="linearGradient2850"> + <stop + style="stop-color:#ce5c00;stop-opacity:1;" + offset="0" + id="stop2852" /> + <stop + style="stop-color:#ce5c00;stop-opacity:0;" + offset="1" + id="stop2854" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2834"> + <stop + style="stop-color:#82508e;stop-opacity:1;" + offset="0" + id="stop2836" /> + <stop + style="stop-color:#82508e;stop-opacity:0;" + offset="1" + id="stop2838" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2826"> + <stop + style="stop-color:#3b1941;stop-opacity:1;" + offset="0" + id="stop2828" /> + <stop + style="stop-color:#3b1941;stop-opacity:0;" + offset="1" + id="stop2830" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2816"> + <stop + style="stop-color:#eeeeec;stop-opacity:1;" + offset="0" + id="stop2818" /> + <stop + style="stop-color:#eeeeec;stop-opacity:0;" + offset="1" + id="stop2820" /> + </linearGradient> + <linearGradient + inkscape:collect="always" id="linearGradient6563"> <stop style="stop-color:white;stop-opacity:1;" @@ -71,18 +119,6 @@ </linearGradient> <linearGradient inkscape:collect="always" - id="linearGradient5304"> - <stop - style="stop-color:#2e3436;stop-opacity:1;" - offset="0" - id="stop5306" /> - <stop - style="stop-color:#2e3436;stop-opacity:0;" - offset="1" - id="stop5308" /> - </linearGradient> - <linearGradient - inkscape:collect="always" id="linearGradient5280"> <stop style="stop-color:#82508e;stop-opacity:1;" @@ -177,15 +213,6 @@ gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" - xlink:href="#linearGradient5304" - id="linearGradient5310" - x1="12.606371" - y1="15.069461" - x2="12.606371" - y2="23.043955" - gradientUnits="userSpaceOnUse" /> - <linearGradient - inkscape:collect="always" xlink:href="#linearGradient6493" id="linearGradient6499" x1="3.3105288" @@ -198,27 +225,19 @@ xlink:href="#linearGradient6506" id="linearGradient6512" x1="15.645709" - y1="39.743458" + y1="41.751736" x2="15.645709" - y2="53.502155" - gradientUnits="userSpaceOnUse" /> + y2="47.370037" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.988192,0.5625,-1.39645)" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient6537" id="linearGradient6543" x1="30.5" - y1="0.033532728" + y1="5.7732024" x2="30.5" - y2="23.559282" - gradientUnits="userSpaceOnUse" /> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient6563" - id="linearGradient6569" - x1="-1.6841649" - y1="39.902092" - x2="5.5366187" - y2="44.272076" + y2="19.518673" gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" @@ -229,6 +248,45 @@ y1="38.950283" x2="5.5366187" y2="44.272076" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2816" + id="radialGradient2824" + cx="9.4288578" + cy="19.283415" + fx="9.4288578" + fy="19.283415" + r="16.390338" + gradientTransform="matrix(1.556432,0,0,1.618148,-5.04294,-15.39321)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2826" + id="linearGradient2832" + x1="13.191773" + y1="41.606163" + x2="13.191773" + y2="47.843258" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2834" + id="linearGradient2840" + x1="11.373499" + y1="41.566242" + x2="11.373499" + y2="47.746658" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2850" + id="linearGradient2856" + x1="21.785719" + y1="28.142857" + x2="17.785713" + y2="30.07143" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0,-0.999982)" /> </defs> <sodipodi:namedview id="base" @@ -237,17 +295,17 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="1.1545694" - inkscape:cx="31.681369" - inkscape:cy="18.601404" + inkscape:zoom="14" + inkscape:cx="34.459692" + inkscape:cy="22.220728" inkscape:current-layer="layer1" showgrid="true" inkscape:grid-bbox="true" inkscape:document-units="px" - inkscape:window-width="1274" - inkscape:window-height="966" - inkscape:window-x="3" - inkscape:window-y="25" + inkscape:window-width="1434" + inkscape:window-height="840" + inkscape:window-x="0" + inkscape:window-y="0" showguides="true" inkscape:guide-bbox="true" inkscape:grid-points="true" /> @@ -267,15 +325,14 @@ inkscape:label="Layer 1" inkscape:groupmode="layer"> <rect - style="opacity:0.23144105;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + style="opacity:0.23144106;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="rect6514" - width="5.0217423" - height="5.2252574" - x="42.978256" - y="44" - rx="0.28473777" - ry="2.6126287" - transform="matrix(7.168827,0,0,0.574134,-308.1037,19.73808)" /> + width="36.000004" + height="2.9999979" + x="-4.4446878" + y="57.424854" + rx="2.0412357" + ry="1.4999989" /> <path sodipodi:type="inkscape:offset" inkscape:radius="-1.0057179" @@ -296,43 +353,19 @@ id="path6535" d="M 20.53125,2.53125 C 17.841732,2.53125 15.53125,5.0973912 15.53125,8.46875 L 15.53125,20.53125 C 15.53125,23.902609 17.841732,26.46875 20.53125,26.46875 L 34.53125,26.46875 C 35.097743,26.476048 35.555202,26.933507 35.5625,27.5 L 35.5625,29 L 38.71875,26.65625 C 38.901723,26.528628 39.120742,26.462922 39.34375,26.46875 L 41.5,26.46875 C 43.235888,26.46875 44.009537,25.921608 44.59375,24.9375 C 45.177963,23.953392 45.46875,22.367968 45.46875,20.53125 L 45.46875,8.46875 C 45.46875,5.0973915 43.158268,2.53125 40.46875,2.53125 L 20.53125,2.53125 z " /> <path - style="opacity:1;fill:#82508e;fill-opacity:1;stroke:#3b1941;stroke-width:1.00595677;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + style="opacity:1;fill:url(#linearGradient2840);fill-opacity:1.0;stroke:url(#linearGradient2832);stroke-width:1.00595677;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 15,13 C 8.3759979,13 3,18.600001 3,25.5 C 4.8460021,40.483064 0.49299658,38.484005 0.052646307,45.33795 C 0.052646307,47.422072 1.0380664,48.413461 3.1446965,48.413461 C 4.3321851,48.413461 29.360035,48.5596 32.051034,48.5596 C 34.165161,48.5596 34,46.5 34,46.5 C 34,43.834589 27.597902,41.598052 25.813453,39.641526 C 23.985035,37.640505 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 " id="path5176" sodipodi:nodetypes="cccccszcsc" transform="matrix(1,0,0,0.988192,0.447354,-1.486208)" /> <path - sodipodi:type="arc" - style="opacity:1;fill:url(#radialGradient5286);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path5273" - sodipodi:cx="15.004828" - sodipodi:cy="39.80859" - sodipodi:rx="9.7225161" - sodipodi:ry="7.119638" - d="M 24.727345 39.80859 A 9.7225161 7.119638 0 1 1 5.2823124,39.80859 A 9.7225161 7.119638 0 1 1 24.727345 39.80859 z" - transform="matrix(0.977113,0,0,1.123653,-0.214066,-6.870732)" /> - <path - style="opacity:0.5152838;fill:#5c3466;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M -42.833794,47.629347 C -42.833794,47.629347 -43.26687,44.687985 -40.223294,37.951005 C -40.223294,37.951005 -39.03087,40.509965 -38.631892,41.678764 C -39.153711,41.596001 -40.372039,41.685633 -40.372039,41.685633 C -40.038351,42.463101 -38.163796,45.952105 -36.121045,48.058218 C -37.780497,47.329365 -39.471111,47.196178 -39.471111,47.196178 C -39.009636,48.111847 -37.250115,48.69173 -36.943887,49.110993 C -36.943887,49.110993 -42.597127,49.864236 -42.833794,47.629347 z " - id="rect5312" - sodipodi:nodetypes="cccccccc" - transform="matrix(1.177457,0,0,1.083194,51.48278,-7.248017)" /> - <path - style="opacity:0.5152838;fill:#5c3466;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M -49.441852,47.4154 C -48.364983,40.273995 -40.690447,44.765623 -40.961409,37.951005 C -40.961409,37.951005 -39.025024,40.280009 -38.974466,41.581367 C -39.496285,41.498604 -39.881988,41.516405 -39.881988,41.516405 C -39.5483,42.293873 -38.196948,45.748112 -36.154197,47.854225 C -37.813649,47.125372 -38.925816,46.898039 -38.925816,46.898039 C -38.847603,47.794771 -38.376224,47.369394 -38.122982,48.215235 C -42.942294,48.046898 -46.252916,49.195571 -49.441852,47.4154 z " - id="path5317" - sodipodi:nodetypes="cccccccc" - transform="matrix(-1.070093,0,0,1.114946,-18.74027,-7.453016)" /> - <path - transform="matrix(1,0,0,0.988192,0.40625,-1.486208)" - style="opacity:0.31004367;fill:url(#linearGradient5310);fill-opacity:1;stroke:url(#linearGradient6512);stroke-width:1.00595677;stroke-miterlimit:4;stroke-opacity:1" - d="M 15,14.0625 C 8.9877035,14.0625 4.0789961,19.13808 4.0625,25.46875 C 4.0624722,25.479427 4.0625,25.489316 4.0625,25.5 C 4.9744187,33.020507 4.3062656,37.469969 2.59375,40.59375 C -0.19778709,46.24536 1.5610206,47.490284 3.9033639,47.490284 C 5.8399452,47.490284 23.958121,47.46049 29.784094,47.46049 C 30.951301,47.46049 32.9375,47.964563 32.9375,46.5 C 32.9375,46.278257 32.737749,45.861323 32.1875,45.34375 C 31.637251,44.826177 30.81426,44.270409 29.90625,43.71875 C 28.99824,43.167091 28.02821,42.609033 27.15625,42.0625 C 26.28429,41.515967 25.511654,41.005793 24.96875,40.28125 C 24.358745,39.467156 24.078806,38.510169 24.024342,37.46875 C 23.969878,36.427331 24.107721,35.310041 24.224561,34.25 C 24.458241,32.129917 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(#radialGradient2824);fill-opacity:1;stroke:url(#linearGradient6512);stroke-width:0.99999994;stroke-miterlimit:4;stroke-opacity:1" + d="M 15.5625,12.5 C 9.550204,12.5 4.641496,17.515648 4.625,23.771565 C 4.624972,23.782116 4.625,23.791888 4.625,23.802446 C 5.536919,31.234151 4.868766,35.631074 3.15625,38.717969 C 0.36471303,44.302845 2.123521,45.533069 4.465864,45.533069 C 6.402445,45.533069 24.520621,45.503627 30.346594,45.503627 C 31.513801,45.503627 33.5,46.001748 33.5,44.554478 C 33.5,44.335354 33.300249,43.923343 32.75,43.411881 C 32.199751,42.90042 31.37676,42.351214 30.46875,41.806069 C 29.56074,41.260924 28.59071,40.709456 27.71875,40.169376 C 26.84679,39.629297 26.074154,39.125147 25.53125,38.409159 C 24.921245,37.604678 24.641306,36.658991 24.586842,35.629869 C 24.532378,34.600747 24.670221,33.49665 24.787061,32.449126 C 25.020741,30.354077 25.53125,28.527239 25.53125,28.527239 C 25.54624,28.4637 25.567163,28.401673 25.59375,28.341953 C 26.181231,26.957097 26.5,25.414481 26.5,23.802446 C 26.5,17.531779 21.584936,12.5 15.5625,12.5 z " id="path5241" sodipodi:nodetypes="csscccssssssscssc" /> <path - transform="matrix(-1.162197,-1.219912,1.095788,-1.150206,-4.404363,64.58016)" style="opacity:1;fill:#a46bb0;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 7.269301,19.503118 C 9.2717505,17.238166 12.529418,17.841584 13.808008,19.287784 C 15.560146,21.269611 15.356996,24.71627 13.354547,26.981222 C 11.614386,28.949501 8.7521391,29.981828 7,28 C 5.2478601,26.018172 5.6872953,21.292511 7.269301,19.503118 z " id="path5160" sodipodi:nodetypes="csssc" /> <path @@ -350,7 +383,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.208632,0,0,1.158617,-1.844007,-4.808565)" /> + transform="matrix(1.208632,0,0,1.544828,-1.738701,-14.41893)" /> <path sodipodi:type="arc" style="opacity:1;fill:black;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" @@ -360,11 +393,10 @@ 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(0.402878,0,0,0.386209,6.350228,13.9706)" /> + transform="matrix(0.402878,0,0,0.514947,6.455534,10.62004)" /> <path - transform="matrix(0.871648,-1.084366,-0.821841,-1.022405,36.71113,59.50016)" style="opacity:1;fill:#975fa3;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 27.88281,19.946791 C 26.359012,18.309616 23.880032,18.745786 22.907068,19.791141 C 21.573747,21.223665 21.728337,23.715015 23.252136,25.35219 C 24.576341,26.77492 26.754418,27.521117 28.087739,26.088593 C 29.42106,24.656068 29.086665,21.240217 27.88281,19.946791 z " id="path5167" sodipodi:nodetypes="csssc" /> <path @@ -382,7 +414,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.208632,0,0,1.158617,13.15599,-4.808572)" /> + transform="matrix(1.208632,0,0,1.598777,13.20865,-15.80042)" /> <path sodipodi:type="arc" style="opacity:1;fill:black;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" @@ -392,21 +424,19 @@ 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(0.402878,0,0,0.386209,21.35023,13.9706)" /> + transform="matrix(0.402878,0,0,0.53293,21.40289,10.11299)" /> <rect style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="rect5215" - width="5.6071429" - height="2.1785715" - x="16" - y="27" - transform="matrix(1.070064,0,0,0.918028,-1.173674,3.073548)" - rx="1.0892857" - ry="1.0892857" /> + width="7" + height="1.8602936" + x="15" + y="27.000017" + rx="0.81387848" + ry="0.93014681" /> <path - transform="matrix(1.180326,0,0,0.867993,13.1795,-6.80859)" - style="fill:#f9751a;fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1" - d="M -0.99929609,42.004237 C 3.5188333,45.348102 4.1278823,38.950282 4.9828709,38.950282 C 5.8260957,38.950282 6.1724645,45.375511 10.014606,42.007796 C 9.2074596,43.955072 6.7265914,47.014858 5.6807127,47.014858 C 4.6230593,47.014858 0.31231911,44.880662 -0.99929609,42.004237 z " + style="fill:#fcaf3e;fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1" + d="M 12.000005,28.650812 C 17.33287,31.553263 18.051747,26 19.060912,26 C 20.056192,26 20.46502,31.577054 25,28.653901 C 24.047304,30.344123 21.119071,32.999996 19.884593,32.999996 C 18.636217,32.999996 13.548138,31.147528 12.000005,28.650812 z " id="rect5187" sodipodi:nodetypes="czczc" /> <path @@ -422,9 +452,8 @@ id="rect5189" sodipodi:nodetypes="cccc" /> <path - transform="matrix(1.180326,0,0,0.867993,13.1795,-6.80859)" - style="fill:url(#linearGradient6569);fill-opacity:1.0;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1" - d="M -0.99929609,42.004237 C 3.5188333,45.348102 4.1278823,38.950282 4.9828709,38.950282 C 5.8260957,38.950282 6.1724645,45.375511 10.014606,42.007796 C 9.2074596,43.955072 6.7265914,47.014858 5.6807127,47.014858 C 4.6230593,47.014858 0.31231911,44.880662 -0.99929609,42.004237 z " + style="fill:url(#linearGradient2856);fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1" + d="M 12.000005,28.650834 C 17.332871,31.553285 18.051747,26.000022 19.060912,26.000022 C 20.056192,26.000022 20.46502,31.577076 25,28.653923 C 24.047304,30.344145 21.119071,33.000018 19.884593,33.000018 C 18.636217,33.000018 13.548139,31.14755 12.000005,28.650834 z " id="path6561" sodipodi:nodetypes="czczc" /> </g>
--- a/pidgin/pixmaps/status/16/scalable/available.svg Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/status/16/scalable/available.svg Thu Jun 21 20:37:57 2007 +0000 @@ -7,23 +7,53 @@ 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" sodipodi:version="0.32" - inkscape:version="0.43" + inkscape:version="0.44.1" version="1.0" - inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/16/available16.png" + inkscape:export-filename="/home/hbons/GUI/Tango/Gaim Refresh/status/16/available.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" - sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/16/scalable" - sodipodi:docname="available16.svg"> + sodipodi:docbase="/home/hbons/Desktop/experiment/status/16/scalable" + sodipodi:docname="available.svg"> <defs id="defs4"> <linearGradient inkscape:collect="always" + id="linearGradient2898"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop2900" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop2902" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient4738" + gradientUnits="userSpaceOnUse" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient4740" + gradientUnits="userSpaceOnUse" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" /> + <linearGradient + inkscape:collect="always" xlink:href="#linearGradient3149" id="linearGradient2269" gradientUnits="userSpaceOnUse" @@ -86,6 +116,118 @@ x2="12.233074" y2="27.77807" gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2898" + id="radialGradient2904" + cx="4.8470273" + cy="6.9473476" + fx="4.8470273" + fy="6.9473476" + r="0.8078171" + gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient2818" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + id="linearGradient2810" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient2963" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2951"> + <stop + id="stop2953" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop2955" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient2949" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2804" + inkscape:collect="always"> + <stop + id="stop2806" + offset="0" + style="stop-color:white;stop-opacity:1;" /> + <stop + id="stop2808" + offset="1" + style="stop-color:white;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2812" + inkscape:collect="always"> + <stop + id="stop2814" + offset="0" + style="stop-color:#2e3436;stop-opacity:1;" /> + <stop + id="stop2816" + offset="1" + style="stop-color:#2e3436;stop-opacity:0;" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient3005" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient3007" + gradientUnits="userSpaceOnUse" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient3025" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> </defs> <sodipodi:namedview id="base" @@ -95,16 +237,16 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="25.992076" - inkscape:cx="16.806787" - inkscape:cy="8.1662141" + inkscape:cx="4.1907826" + inkscape:cy="8.6773979" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" fill="#eeeeec" - inkscape:window-width="1268" - inkscape:window-height="968" - inkscape:window-x="6" - inkscape:window-y="21" /> + inkscape:window-width="1274" + inkscape:window-height="844" + inkscape:window-x="3" + inkscape:window-y="0" /> <metadata id="metadata7"> <rdf:RDF> @@ -126,37 +268,19 @@ sodipodi:rx="8.6620579" sodipodi:cy="19.008621" sodipodi:cx="31.112698" - id="path4318" - style="opacity:0.7;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - sodipodi:type="arc" - transform="matrix(0.923568,0,0,0.288615,-20.73469,8.013827)" /> - <path + id="path2969" + style="color:black;fill:url(#radialGradient3025);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" sodipodi:type="arc" - style="opacity:1;fill:url(#linearGradient2857);fill-opacity:1;fill-rule:evenodd;stroke:#418203;stroke-width:1.85686159;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path2245" - sodipodi:cx="17.890068" - sodipodi:cy="17.572527" - sodipodi:rx="13.932817" - sodipodi:ry="13.932817" - d="M 31.822886 17.572527 A 13.932817 13.932817 0 1 1 3.9572506,17.572527 A 13.932817 13.932817 0 1 1 31.822886 17.572527 z" - transform="matrix(0.538543,0,0,0.538542,-1.633369,-1.462358)" /> - <image - id="image1323" - height="64.794617" - width="64.794617" - sodipodi:absref="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png" - xlink:href="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png" - x="-74" - y="-17" /> + transform="matrix(0.923568,0,0,0.173169,-20.73469,11.2083)" /> <path - sodipodi:type="arc" - style="opacity:0.5;fill:url(#linearGradient2269);fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14505577;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path3145" - sodipodi:cx="17.890068" - sodipodi:cy="17.572527" - sodipodi:rx="13.932817" - sodipodi:ry="13.932817" - d="M 31.822886 17.572527 A 13.932817 13.932817 0 1 1 3.9572506,17.572527 A 13.932817 13.932817 0 1 1 31.822886 17.572527 z" - transform="matrix(0.466166,0,0,0.466212,-0.33531,-0.188412)" /> + transform="matrix(0.538297,0,0,0.538297,-1.630177,-1.459246)" + style="fill:url(#linearGradient4738);fill-opacity:1;fill-rule:evenodd;stroke:#306300;stroke-width:1.85770929;stroke-miterlimit:4;stroke-opacity:1" + d="M 31.822886,17.572527 C 31.822886,25.263442 25.580983,31.505344 17.890068,31.505344 C 10.199153,31.505344 3.9572506,25.263442 3.9572506,17.572527 C 3.9572506,9.8816117 10.199153,3.6397095 17.890068,3.6397095 C 25.580983,3.6397095 31.822886,9.8816117 31.822886,17.572527 z " + id="path4331" /> + <path + transform="matrix(0.466524,0,0,0.466525,-0.346154,-0.198015)" + style="opacity:0.6;fill:url(#linearGradient4740);fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:2.14350748;stroke-miterlimit:4;stroke-opacity:1" + d="M 31.822886,17.572527 C 31.822886,25.263442 25.580983,31.505344 17.890068,31.505344 C 10.199153,31.505344 3.9572506,25.263442 3.9572506,17.572527 C 3.9572506,9.8816117 10.199153,3.6397095 17.890068,3.6397095 C 25.580983,3.6397095 31.822886,9.8816117 31.822886,17.572527 z " + id="path4333" /> </g> </svg>
--- a/pidgin/pixmaps/status/16/scalable/away.svg Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/status/16/scalable/away.svg Thu Jun 21 20:37:57 2007 +0000 @@ -7,43 +7,45 @@ 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" sodipodi:version="0.32" - inkscape:version="0.43" + inkscape:version="0.44.1" version="1.0" inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/16/available16.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" - sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/16/scalable" - sodipodi:docname="away16.svg"> + sodipodi:docbase="/home/hbons/Desktop/experiment/status/16/scalable" + sodipodi:docname="away.svg"> <defs id="defs4"> <linearGradient inkscape:collect="always" - id="linearGradient2239"> + id="linearGradient2812"> <stop - style="stop-color:#ffffff;stop-opacity:1;" + style="stop-color:#2e3436;stop-opacity:1;" offset="0" - id="stop2241" /> + id="stop2814" /> <stop - style="stop-color:#ffffff;stop-opacity:0;" + style="stop-color:#2e3436;stop-opacity:0;" offset="1" - id="stop2243" /> + id="stop2816" /> </linearGradient> <linearGradient inkscape:collect="always" - xlink:href="#linearGradient2239" - id="linearGradient2245" - x1="15.602553" - y1="1.5657365" - x2="15.522223" - y2="33.483475" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(0.482882,0,0,0.482874,0.269812,0.26982)" /> + id="linearGradient2804"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop2806" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop2808" /> + </linearGradient> <linearGradient inkscape:collect="always" xlink:href="#linearGradient3149" @@ -78,29 +80,6 @@ </linearGradient> <linearGradient inkscape:collect="always" - id="linearGradient3816"> - <stop - style="stop-color:#000000;stop-opacity:1;" - offset="0" - id="stop3818" /> - <stop - style="stop-color:#000000;stop-opacity:0;" - offset="1" - id="stop3820" /> - </linearGradient> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3816" - id="radialGradient3822" - cx="31.112698" - cy="19.008621" - fx="31.112698" - fy="19.008621" - r="8.6620579" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)" /> - <linearGradient - inkscape:collect="always" xlink:href="#linearGradient2851" id="linearGradient2857" x1="6.878005" @@ -108,6 +87,25 @@ x2="12.233074" y2="27.77807" gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient2810" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2818" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> </defs> <sodipodi:namedview id="base" @@ -117,16 +115,20 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="25.992076" - inkscape:cx="16.806787" - inkscape:cy="8.1662141" + inkscape:cx="14.729231" + inkscape:cy="2.7799575" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" fill="#eeeeec" - inkscape:window-width="1268" - inkscape:window-height="968" - inkscape:window-x="6" - inkscape:window-y="21" /> + inkscape:window-width="1434" + inkscape:window-height="844" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:object-paths="false" + inkscape:grid-bbox="true" + inkscape:guide-bbox="false" + inkscape:grid-points="true" /> <metadata id="metadata7"> <rdf:RDF> @@ -149,20 +151,12 @@ sodipodi:cy="19.008621" sodipodi:cx="31.112698" id="path4318" - style="opacity:0.7;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + style="opacity:1;color:black;fill:url(#radialGradient2818);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" sodipodi:type="arc" - transform="matrix(0.923568,0,0,0.288615,-20.73469,8.013827)" /> - <image - id="image1323" - height="64.794617" - width="64.794617" - sodipodi:absref="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png" - xlink:href="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png" - x="-74" - y="-17" /> + transform="matrix(0.923568,0,0,0.173169,-20.73469,11.2083)" /> <path sodipodi:type="arc" - style="opacity:1;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:1.91314828px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + style="opacity:1;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#173867;stroke-width:1.91314828px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" id="path1339" sodipodi:cx="15.590227" sodipodi:cy="16.57217" @@ -172,47 +166,113 @@ transform="matrix(0.522697,0,0,0.522697,-0.148088,-0.661348)" /> <path sodipodi:type="arc" - style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:2.59300995px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + style="opacity:1;fill:#8ab0d7;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2788" + sodipodi:cx="-3.8088531" + sodipodi:cy="3.303823" + sodipodi:rx="3.1932809" + sodipodi:ry="3.3471739" + d="M -0.61557221 3.303823 A 3.1932809 3.3471739 0 1 1 -7.0021341,3.303823 A 3.1932809 3.3471739 0 1 1 -0.61557221 3.303823 z" + transform="matrix(2.192102,0,0,2.091316,16.34939,1.090661)" /> + <path + sodipodi:type="arc" + style="opacity:0.40340911;color:black;fill:#babdb6;fill-opacity:1;fill-rule:evenodd;stroke:#173867;stroke-width:2.60821199px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" id="path1341" sodipodi:cx="15.590227" sodipodi:cy="16.57217" sodipodi:rx="14.345175" sodipodi:ry="14.345175" d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1 1.2450523,16.57217 A 14.345175 14.345175 0 1 1 29.935402 16.57217 z" - transform="matrix(0.385634,0,0,0.38567,1.998372,1.598697)" /> + transform="matrix(0.383404,0,0,0.383404,2.022641,1.646167)" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:#dcdcd8;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2796" + sodipodi:cx="6.0403023" + sodipodi:cy="7.5551186" + sodipodi:rx="1.615877" + sodipodi:ry="1.3273276" + d="M 7.6561793 7.5551186 A 1.615877 1.3273276 0 1 1 4.4244252,7.5551186 A 1.615877 1.3273276 0 1 1 7.6561793 7.5551186 z" + transform="matrix(3.094296,0,0,3.766968,-10.69048,-20.45989)" /> <path sodipodi:type="arc" - style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:9.63841057px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - id="path2216" - sodipodi:cx="15.590227" - sodipodi:cy="16.57217" - sodipodi:rx="14.345175" - sodipodi:ry="14.345175" - d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1 1.2450523,16.57217 A 14.345175 14.345175 0 1 1 29.935402 16.57217 z" - transform="matrix(0.103753,0,0,0.103753,6.37887,6.27699)" /> - <path - style="opacity:0.5;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2245);stroke-width:0.99999881px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - d="M 14.509853,7.9958041 C 14.509853,11.591436 11.591612,14.50963 7.9959211,14.50963 C 4.4002314,14.50963 1.4819904,11.591436 1.4819904,7.9958041 C 1.4819904,4.4001725 4.4002314,1.4819783 7.9959211,1.4819783 C 11.591612,1.4819783 14.509853,4.4001725 14.509853,7.9958041 z " - id="path2220" /> + style="opacity:0.76704544;fill:none;fill-opacity:1;stroke:url(#linearGradient2810);stroke-width:0.80677563;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2802" + sodipodi:cx="7.5" + sodipodi:cy="7" + sodipodi:rx="5.5" + sodipodi:ry="5" + d="M 13 7 A 5.5 5 0 1 1 2,7 A 5.5 5 0 1 1 13 7 z" + transform="matrix(1.18182,0,0,1.3,-0.86365,-1.1)" /> + <rect + style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2820" + width="1" + height="1" + x="5" + y="-11" + transform="matrix(0,1,-1,0,0,0)" /> + <rect + style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2832" + width="1" + height="1" + x="7" + y="-9" + transform="matrix(0,1,-1,0,0,0)" /> <path sodipodi:type="arc" + style="opacity:1;fill:white;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2852" + sodipodi:cx="6.0403023" + sodipodi:cy="7.5551186" + sodipodi:rx="1.615877" + sodipodi:ry="1.3273276" + d="M 4.835244,8.4394021 A 1.615877,1.3273276 0 0 1 6.0776839,6.2281462 L 6.0403023,7.5551186 z" + transform="matrix(2.475436,0,0,3.013575,-6.952382,-14.76791)" + sodipodi:start="2.4124729" + sodipodi:end="4.735525" /> + <rect style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path1588" - sodipodi:cx="20.264311" - sodipodi:cy="14.476474" - sodipodi:rx="2.9448855" - sodipodi:ry="0.78724658" - d="M 23.209196 14.476474 A 2.9448855 0.78724658 0 1 1 17.319425,14.476474 A 2.9448855 0.78724658 0 1 1 23.209196 14.476474 z" - transform="matrix(-1.244057e-16,-0.509358,1.270255,5.747542e-7,-10.38882,15.82177)" /> - <path - sodipodi:type="arc" + id="rect2838" + width="2" + height="2" + x="7" + y="-9" + rx="1" + ry="1" + transform="matrix(0,1,-1,0,0,0)" /> + <rect + style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2840" + width="1" + height="1" + x="6" + y="-10" + transform="matrix(0,1,-1,0,0,0)" /> + <rect style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path1314" - sodipodi:cx="20.264311" - sodipodi:cy="14.476474" - sodipodi:rx="2.9448855" - sodipodi:ry="0.78724658" - d="M 23.209196 14.476474 A 2.9448855 0.78724658 0 1 1 17.319425,14.476474 A 2.9448855 0.78724658 0 1 1 23.209196 14.476474 z" - transform="matrix(0.509355,-4.991037e-16,-5.747516e-7,1.270255,0.178284,-10.38882)" /> + id="rect2846" + width="1" + height="1" + x="-11" + y="-11" + transform="matrix(0,-1,-1,0,0,0)" /> + <rect + style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2848" + width="1" + height="1" + x="-9" + y="-9" + transform="matrix(0,-1,-1,0,0,0)" /> + <rect + style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2850" + width="1" + height="1" + x="-10" + y="-10" + transform="matrix(0,-1,-1,0,0,0)" /> </g> </svg>
--- a/pidgin/pixmaps/status/16/scalable/busy.svg Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/status/16/scalable/busy.svg Thu Jun 21 20:37:57 2007 +0000 @@ -7,23 +7,68 @@ 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" sodipodi:version="0.32" - inkscape:version="0.43" + inkscape:version="0.44.1" version="1.0" inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/16/available16.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" - sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/16/scalable" - sodipodi:docname="busy16.svg"> + sodipodi:docbase="/home/hbons/Desktop/experiment/status/16/scalable" + sodipodi:docname="busy.svg"> <defs id="defs4"> <linearGradient inkscape:collect="always" + id="linearGradient2898"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop2900" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop2902" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2898" + id="radialGradient2904" + cx="4.8470273" + cy="6.9473476" + fx="4.8470273" + fy="6.9473476" + r="0.8078171" + gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + id="linearGradient2812" + inkscape:collect="always"> + <stop + id="stop2814" + offset="0" + style="stop-color:#2e3436;stop-opacity:1;" /> + <stop + id="stop2816" + offset="1" + style="stop-color:#2e3436;stop-opacity:0;" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient3025" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + inkscape:collect="always" id="linearGradient2186"> <stop style="stop-color:#ffffff;stop-opacity:1;" @@ -38,8 +83,8 @@ inkscape:collect="always" xlink:href="#linearGradient2186" id="linearGradient2194" - x1="11.226587" - y1="-5.4832759" + x1="9.2594385" + y1="-1.5641226" x2="11.226587" y2="17.697369" gradientUnits="userSpaceOnUse" @@ -60,10 +105,10 @@ inkscape:collect="always" xlink:href="#linearGradient2239" id="linearGradient2245" - x1="15.602553" - y1="1.5657365" - x2="15.522223" - y2="33.483475" + x1="8.7505674" + y1="4.5934086" + x2="31.18539" + y2="39.834526" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.482882,0,0,0.482874,0.269812,0.26982)" /> <linearGradient @@ -139,16 +184,16 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="25.992076" - inkscape:cx="16.806787" - inkscape:cy="8.1662141" + inkscape:cx="8.3811422" + inkscape:cy="5.1075896" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" fill="#eeeeec" inkscape:window-width="1268" - inkscape:window-height="968" + inkscape:window-height="844" inkscape:window-x="6" - inkscape:window-y="21" /> + inkscape:window-y="0" /> <metadata id="metadata7"> <rdf:RDF> @@ -170,18 +215,10 @@ sodipodi:rx="8.6620579" sodipodi:cy="19.008621" sodipodi:cx="31.112698" - id="path4318" - style="opacity:0.7;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + id="path2969" + style="color:black;fill:url(#radialGradient3025);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" sodipodi:type="arc" - transform="matrix(0.923568,0,0,0.288615,-20.73469,8.013827)" /> - <image - id="image1323" - height="64.794617" - width="64.794617" - sodipodi:absref="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png" - xlink:href="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png" - x="-74" - y="-17" /> + transform="matrix(0.923568,0,0,0.173169,-20.73469,11.2083)" /> <path sodipodi:type="arc" style="opacity:1;color:#000000;fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.36561811px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" @@ -194,7 +231,7 @@ transform="matrix(0.468971,0,0,0.468971,0.730372,0.26987)" /> <path sodipodi:type="arc" - style="opacity:1;color:#000000;fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:1.91298747px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + style="opacity:1;color:#000000;fill:#f24747;fill-opacity:1;fill-rule:evenodd;stroke:#820000;stroke-width:1.91298747px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" id="path1339" sodipodi:cx="15.590227" sodipodi:cy="16.57217" @@ -206,10 +243,14 @@ style="opacity:0.6;color:#000000;fill:url(#linearGradient2194);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2245);stroke-width:1.00000012px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" d="M 14.525974,7.9894993 C 14.525974,11.598577 11.608166,14.527685 8.0130095,14.527685 C 4.4178543,14.527685 1.500047,11.598577 1.500047,7.9894993 C 1.500047,4.3804219 4.4178543,1.4513155 8.0130095,1.4513155 C 11.608166,1.4513155 14.525974,4.3804219 14.525974,7.9894993 z " id="path2220" /> - <path - style="color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:0.99999833px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - d="M 13.49379,7.9436678 C 13.49379,9.8082522 12.846021,9.4786261 7.9525684,9.4786261 C 3.1055026,9.4786261 2.5041877,9.7778545 2.5041877,8.0257093 C 2.5041877,6.2462172 3.8951545,6.5604085 7.9989886,6.5604085 C 12.072197,6.5604085 13.49379,6.0517387 13.49379,7.9436678 z " - id="path1341" - sodipodi:nodetypes="czzzz" /> + <rect + style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:#a40000;stroke-width:1.00000024;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect3207" + width="11.000004" + height="2.9999959" + x="2.500001" + y="6.5000038" + rx="0.96183157" + ry="0.96183157" /> </g> </svg>
--- a/pidgin/pixmaps/status/16/scalable/offline.svg Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/status/16/scalable/offline.svg Thu Jun 21 20:37:57 2007 +0000 @@ -15,10 +15,10 @@ sodipodi:version="0.32" inkscape:version="0.44.1" version="1.0" - inkscape:export-filename="/home/hbons/GUI/Tango/Gaim Refresh/status/16/offline.png" + inkscape:export-filename="/home/hbons/Desktop/offline.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" - sodipodi:docbase="/home/hbons/GUI/Tango/Gaim Refresh/status/16/scalable" + sodipodi:docbase="/home/hbons/Desktop/experiment/status/16/scalable" sodipodi:docname="offline.svg"> <defs id="defs4"> @@ -160,16 +160,16 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="25.992076" - inkscape:cx="16.806787" - inkscape:cy="8.1469775" + inkscape:cx="26.27121" + inkscape:cy="5.5692688" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" fill="#eeeeec" - inkscape:window-width="1268" - inkscape:window-height="968" - inkscape:window-x="6" - inkscape:window-y="23" /> + inkscape:window-width="1434" + inkscape:window-height="844" + inkscape:window-x="0" + inkscape:window-y="0" /> <metadata id="metadata7"> <rdf:RDF> @@ -195,14 +195,6 @@ style="opacity:0.7;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" sodipodi:type="arc" transform="matrix(0.923568,0,0,0.288615,-20.73469,8.013827)" /> - <image - id="image1323" - height="64.794617" - width="64.794617" - sodipodi:absref="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png" - xlink:href="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png" - x="-74" - y="-17" /> <path style="fill:#888a85;fill-opacity:1;stroke:#2e3436;stroke-width:0.99999827;stroke-miterlimit:4;stroke-opacity:1" d="M 13.307074,13.307079 C 10.376958,16.237198 5.6213214,16.237693 2.6918157,13.308187 C -0.23769028,10.378679 -0.23719421,5.623042 2.692923,2.6929237 C 5.62304,-0.23719442 10.378675,-0.23769056 13.308181,2.6918165 C 16.237687,5.6213234 16.237192,10.376962 13.307074,13.307079 z " @@ -218,9 +210,9 @@ d="M 8,1.5 C 6.3326173,1.5001739 4.674966,2.1375335 3.40625,3.40625 C 0.86479124,5.9477097 0.86538373,10.052882 3.40625,12.59375 C 5.9471154,15.134616 10.052293,15.135209 12.59375,12.59375 C 15.135209,10.052292 15.134616,5.9471167 12.59375,3.40625 C 11.325315,2.1378146 9.6669929,1.4998261 8,1.5 z " transform="matrix(1.000056,0,0,1.000028,-4.353349e-4,-2.926381e-5)" /> <path - style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:#555753;stroke-width:0.99999946;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 10.018233,3.7131793 L 8,5.8786797 L 5.9817663,3.727906 L 3.7131793,5.9817663 L 5.8786797,8 L 3.7131793,10.03296 L 5.9964929,12.316274 L 8,10.12132 L 10.018233,12.301548 L 12.301548,10.018233 L 10.12132,8 L 12.286821,5.9964929 L 10.018233,3.7131793 z " - id="rect1322" - sodipodi:nodetypes="ccccccccccccc" /> + style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:#555753;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 11.54182,4.2658182 C 10.931116,3.6551131 10.447965,3.347327 9.8372602,3.9580321 L 8.0000001,5.7952921 L 6.1627401,3.9580321 C 5.5520351,3.3473271 4.9919392,3.7705329 4.381234,4.381238 C 3.770529,4.991943 3.347323,5.5520393 3.9580281,6.1627441 L 5.7952881,8.0000041 L 3.9580281,9.8372641 C 3.3473229,10.447969 3.6935827,10.969592 4.3042875,11.580298 C 4.9149927,12.191002 5.5520349,12.652681 6.1627401,12.041977 L 8.0000001,10.204716 L 9.8372602,12.041977 C 10.447965,12.652681 11.046535,12.306422 11.657239,11.695718 C 12.267944,11.085012 12.652677,10.447969 12.041972,9.8372641 L 10.204713,8.0000041 L 12.041972,6.1627441 C 12.652677,5.552039 12.152526,4.8765236 11.54182,4.2658182 z " + id="rect2920" + sodipodi:nodetypes="ccccscccscccscccc" /> </g> </svg>
--- a/pidgin/pixmaps/status/22/scalable/available.svg Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/status/22/scalable/available.svg Thu Jun 21 20:37:57 2007 +0000 @@ -7,19 +7,19 @@ 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" - inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/22/available22.png" + inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/32/available32.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" - sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/22" - sodipodi:docname="available22.svg"> + sodipodi:docbase="/home/hbons/Desktop/experiment/22/scalable" + sodipodi:docname="available.svg"> <defs id="defs4"> <linearGradient @@ -72,14 +72,316 @@ xlink:href="#linearGradient3149" id="linearGradient3155" x1="17.890068" - y1="2.197206" + y1="8.3091545" x2="17.890068" - y2="18.507565" + y2="36.574547" + gradientUnits="userSpaceOnUse" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient3025" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + gradientUnits="userSpaceOnUse" + id="linearGradient3007" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient3005" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + id="linearGradient2812"> + <stop + style="stop-color:#2e3436;stop-opacity:1;" + offset="0" + id="stop2814" /> + <stop + style="stop-color:#2e3436;stop-opacity:0;" + offset="1" + id="stop2816" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2804"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop2806" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop2808" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2949" + gradientUnits="userSpaceOnUse" + x1="17.890068" + y1="8.0617304" + x2="17.890068" + y2="40.032413" /> + <linearGradient + id="linearGradient2951"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop2953" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop2955" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient2963" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient2810" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2818" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)" + r="0.8078171" + fy="6.9473476" + fx="4.8470273" + cy="6.9473476" + cx="4.8470273" + id="radialGradient2904" + xlink:href="#linearGradient2898" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient1955" xlink:href="#linearGradient2851" - id="linearGradient2857" + inkscape:collect="always" /> + <radialGradient + gradientTransform="matrix(0.914124,0,0,1.631747,2.671799,-12.00863)" + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient1953" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <linearGradient + id="linearGradient1935"> + <stop + id="stop1937" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop1939" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient2269" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + y2="36.603138" + x2="24.240097" + y1="9.4211226" + x1="15.498499" + gradientUnits="userSpaceOnUse" + id="linearGradient4740" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + gradientUnits="userSpaceOnUse" + id="linearGradient4738" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2898" + inkscape:collect="always"> + <stop + id="stop2900" + offset="0" + style="stop-color:white;stop-opacity:1;" /> + <stop + id="stop2902" + offset="1" + style="stop-color:white;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient1983" + gradientUnits="userSpaceOnUse" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" + gradientTransform="matrix(1.004822,0,0,1.004822,-2.476351,-2.157242)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient1986" + gradientUnits="userSpaceOnUse" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientTransform="matrix(1.076595,0,0,1.076595,-3.760351,-3.418494)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2898" + id="radialGradient1990" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)" + cx="4.8470273" + cy="6.9473476" + fx="4.8470273" + fy="6.9473476" + r="0.8078171" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient1992" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + y2="21.045444" + x2="15.602553" + y1="1.5657365" + x1="15.602553" + gradientTransform="matrix(0.705322,0,0,0.705327,8.71963,7.710084)" + gradientUnits="userSpaceOnUse" + id="linearGradient2073" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient2057" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient2032" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2239" + id="linearGradient2040" + x1="15.602553" + y1="1.5657365" + x2="15.522223" + y2="33.483475" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient1985" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + gradientUnits="userSpaceOnUse" + id="linearGradient2100" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2086" + gradientUnits="userSpaceOnUse" + x1="17.890068" + y1="8.0617304" + x2="17.890068" + y2="40.032413" /> + <linearGradient + id="linearGradient2080"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop2082" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop2084" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient2072" x1="6.878005" y1="11.789385" x2="12.233074" @@ -87,13 +389,386 @@ gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient2070" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2068" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.493392,0,4.185903)" + r="5.7619157" + fy="5.3375292" + fx="10.99079" + cy="5.3375292" + cx="10.99079" + id="radialGradient5135" + xlink:href="#linearGradient5129" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2239" + inkscape:collect="always"> + <stop + id="stop2241" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop2243" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.842757,0,0,-0.35721,19.80716,14.19321)" + r="6.6449099" + fy="10.457643" + fx="10.748654" + cy="10.457643" + cx="10.748654" + id="radialGradient3156" + xlink:href="#linearGradient3150" + inkscape:collect="always" /> + <linearGradient + id="linearGradient3150" + inkscape:collect="always"> + <stop + id="stop3152" + offset="0" + style="stop-color:#2e3436;stop-opacity:1;" /> + <stop + id="stop3154" + offset="1" + style="stop-color:#2e3436;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient5129" + inkscape:collect="always"> + <stop + id="stop5131" + offset="0" + style="stop-color:white;stop-opacity:1;" /> + <stop + id="stop5133" + offset="1" + style="stop-color:white;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" xlink:href="#linearGradient3149" - id="linearGradient2269" + id="linearGradient2126" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2239" + id="linearGradient2132" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.705322,0,0,0.705327,-58.76363,3.243275)" + x1="15.602553" + y1="1.5657365" + x2="15.602553" + y2="21.045444" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2146" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2148" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + y2="34.774117" + x2="17.890068" + y1="0.6668244" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient1999" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient2857" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="18.507565" + x2="17.890068" + y1="2.197206" + x1="17.890068" + id="linearGradient1996" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient1994" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <linearGradient + id="linearGradient1976"> + <stop + id="stop1978" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop1980" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2011" gradientUnits="userSpaceOnUse" x1="17.890068" - y1="0.6668244" + y1="8.0617304" + x2="17.890068" + y2="40.032413" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient2013" + gradientUnits="userSpaceOnUse" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient2015" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + y2="21.045444" + x2="15.602553" + y1="1.5657365" + x1="15.602553" + gradientTransform="matrix(0.705322,0,0,0.705327,-24.28038,0.710083)" + gradientUnits="userSpaceOnUse" + id="linearGradient2059" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient2147" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient2145" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2239" + id="linearGradient2143" + x1="15.602553" + y1="1.5657365" + x2="15.522223" + y2="33.483475" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient2141" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + gradientUnits="userSpaceOnUse" + id="linearGradient2139" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2124" + gradientUnits="userSpaceOnUse" + x1="17.890068" + y1="8.0617304" x2="17.890068" - y2="34.774117" /> + y2="40.032413" /> + <linearGradient + id="linearGradient2118"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop2120" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop2122" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient2110" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient2108" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2106" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.493392,0,4.185903)" + r="5.7619157" + fy="5.3375292" + fx="10.99079" + cy="5.3375292" + cx="10.99079" + id="radialGradient2104" + xlink:href="#linearGradient5129" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(0.705322,0,0,0.705327,-24.28038,0.710083)" + gradientUnits="userSpaceOnUse" + y2="21.045444" + x2="15.602553" + y1="1.5657365" + x1="15.602553" + id="linearGradient2245" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.842757,0,0,-0.35721,19.80716,14.19321)" + r="6.6449099" + fy="10.457643" + fx="10.748654" + cy="10.457643" + cx="10.748654" + id="radialGradient2095" + xlink:href="#linearGradient3150" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient2087" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2167" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.004822,0,0,1.004822,-2.476351,-2.157242)" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2184" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient2189" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.789503,0,0,0.789503,-2.624255,-2.373563)" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2191" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.717731,0,0,0.71773,-1.34025,-1.112314)" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" /> </defs> <sodipodi:namedview id="base" @@ -102,17 +777,19 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="25.992076" - inkscape:cx="20.3848" - inkscape:cy="9.8287529" + inkscape:zoom="14.928527" + inkscape:cx="26.286595" + inkscape:cy="13.181001" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" fill="#eeeeec" - inkscape:window-width="1268" - inkscape:window-height="968" - inkscape:window-x="6" - inkscape:window-y="21" /> + inkscape:window-width="1434" + inkscape:window-height="844" + inkscape:window-x="0" + inkscape:window-y="0" + height="24px" + width="24px" /> <metadata id="metadata7"> <rdf:RDF> @@ -134,37 +811,17 @@ sodipodi:rx="8.6620579" sodipodi:cy="19.008621" sodipodi:cx="31.112698" - id="path4318" - style="opacity:0.7;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - sodipodi:type="arc" - transform="matrix(1.385352,0,0,0.634953,-31.10204,6.430418)" /> - <path + id="path1948" + style="color:black;fill:url(#radialGradient2184);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" sodipodi:type="arc" - style="opacity:1;fill:url(#linearGradient2857);fill-opacity:1;fill-rule:evenodd;stroke:#418203;stroke-width:1.32699585;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path2245" - sodipodi:cx="17.890068" - sodipodi:cy="17.572527" - sodipodi:rx="13.932817" - sodipodi:ry="13.932817" - d="M 31.822886 17.572527 A 13.932817 13.932817 0 1 1 3.9572506,17.572527 A 13.932817 13.932817 0 1 1 31.822886 17.572527 z" - transform="matrix(0.75357,0,0,0.753592,-1.481423,-1.2422)" /> - <image - id="image1323" - height="64.794617" - width="64.794617" - sodipodi:absref="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png" - xlink:href="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png" - x="-74" - y="-17" /> + transform="matrix(1.269906,0,0,0.346338,-27.5102,14.41659)" /> <path - sodipodi:type="arc" - style="opacity:0.5;fill:url(#linearGradient2269);fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.46676958;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path3145" - sodipodi:cx="17.890068" - sodipodi:cy="17.572527" - sodipodi:rx="13.932817" - sodipodi:ry="13.932817" - d="M 31.822886 17.572527 A 13.932817 13.932817 0 1 1 3.9572506,17.572527 A 13.932817 13.932817 0 1 1 31.822886 17.572527 z" - transform="matrix(0.681795,0,0,0.681747,-0.197796,2.041858e-2)" /> + style="fill:url(#linearGradient2189);fill-opacity:1;fill-rule:evenodd;stroke:#306300;stroke-width:0.99999911;stroke-miterlimit:4;stroke-opacity:1" + d="M 22.500011,11.499997 C 22.500011,17.571995 17.57201,22.499994 11.500011,22.499994 C 5.428011,22.499994 0.50001162,17.571995 0.50001162,11.499997 C 0.50001162,5.4279975 5.428011,0.4999987 11.500011,0.4999987 C 17.57201,0.4999987 22.500011,5.4279975 22.500011,11.499997 z " + id="path4331" /> + <path + style="opacity:0.6;fill:url(#linearGradient2191);fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:0.99999809;stroke-miterlimit:4;stroke-opacity:1" + d="M 21.500009,11.499995 C 21.500009,17.019992 17.020007,21.499992 11.500005,21.499992 C 5.9800027,21.499992 1.4999988,17.019992 1.4999988,11.499995 C 1.4999988,5.9799971 5.9800027,1.4999992 11.500005,1.4999992 C 17.020007,1.4999992 21.500009,5.9799971 21.500009,11.499995 z " + id="path4333" /> </g> </svg>
--- a/pidgin/pixmaps/status/22/scalable/away.svg Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/status/22/scalable/away.svg Thu Jun 21 20:37:57 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="svg1331" sodipodi:version="0.32" - inkscape:version="0.43" + inkscape:version="0.44.1" version="1.0" - inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/away.png" + inkscape:export-filename="/home/hbons/Desktop/away.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" - sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/22/scalable" - sodipodi:docname="away22.svg"> + sodipodi:docbase="/home/hbons/Desktop/experiment/status/22/scalable" + sodipodi:docname="away.svg"> <defs id="defs1333"> <linearGradient inkscape:collect="always" + id="linearGradient2811"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop2813" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop2815" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient5129"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop5131" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop5133" /> + </linearGradient> + <linearGradient + inkscape:collect="always" id="linearGradient3816"> <stop style="stop-color:#000000;stop-opacity:1;" @@ -85,10 +109,175 @@ id="linearGradient2245" x1="15.602553" y1="1.5657365" - x2="15.522223" + x2="15.602553" + y2="21.045444" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.705322,0,0,0.705327,-24.28038,0.710083)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient5129" + id="radialGradient5135" + cx="10.99079" + cy="5.3375292" + fx="10.99079" + fy="5.3375292" + r="5.7619157" + gradientTransform="matrix(1,0,0,0.493392,0,4.185903)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient2818" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + id="linearGradient2810" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient2857" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <linearGradient + id="linearGradient3149" + inkscape:collect="always"> + <stop + id="stop3151" + offset="0" + style="stop-color:#eeeeec;stop-opacity:1;" /> + <stop + id="stop3153" + offset="1" + style="stop-color:#eeeeec;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2851"> + <stop + id="stop2853" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop2855" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient2269" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2804" + inkscape:collect="always"> + <stop + id="stop2806" + offset="0" + style="stop-color:white;stop-opacity:1;" /> + <stop + id="stop2808" + offset="1" + style="stop-color:white;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2812" + inkscape:collect="always"> + <stop + id="stop2814" + offset="0" + style="stop-color:#2e3436;stop-opacity:1;" /> + <stop + id="stop2816" + offset="1" + style="stop-color:#2e3436;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient1983" + gradientUnits="userSpaceOnUse" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient1985" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)" + gradientUnits="userSpaceOnUse" y2="33.483475" + x2="15.522223" + y1="1.5657365" + x1="15.602553" + id="linearGradient2040" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <radialGradient gradientUnits="userSpaceOnUse" - gradientTransform="matrix(0.705322,0,0,0.705327,0.719621,0.710083)" /> + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient2032" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient2057" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2239" + id="linearGradient2059" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.705322,0,0,0.705327,-24.28038,0.710083)" + x1="15.602553" + y1="1.5657365" + x2="15.602553" + y2="21.045444" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2811" + id="radialGradient2817" + cx="5.2511673" + cy="7.3335675" + fx="5.2511673" + fy="7.3335675" + r="0.82651663" + gradientTransform="matrix(1,0,0,1.337946,0,-2.478349)" + gradientUnits="userSpaceOnUse" /> </defs> <sodipodi:namedview id="base" @@ -97,18 +286,18 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="19.69831" - inkscape:cx="17.254293" - inkscape:cy="10.464226" + inkscape:zoom="13.928809" + inkscape:cx="38.913091" + inkscape:cy="9.6136547" inkscape:current-layer="layer1" showgrid="true" inkscape:grid-bbox="true" inkscape:document-units="px" fill="#729fcf" - inkscape:window-width="1268" - inkscape:window-height="972" - inkscape:window-x="6" - inkscape:window-y="21" /> + inkscape:window-width="1434" + inkscape:window-height="844" + inkscape:window-x="0" + inkscape:window-y="0" /> <metadata id="metadata1336"> <rdf:RDF> @@ -130,63 +319,162 @@ sodipodi:rx="8.6620579" sodipodi:cy="19.008621" sodipodi:cx="31.112698" - id="path4318" - style="opacity:0.7;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + id="path1948" + style="color:black;fill:url(#radialGradient1985);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" sodipodi:type="arc" - transform="matrix(1.385352,0,0,0.634953,-31.10204,6.430418)" /> + transform="matrix(1.269906,0,0,0.346338,-27.5102,14.41659)" /> <path sodipodi:type="arc" - style="opacity:1;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:1.36561811px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - id="path1339" + style="color:black;fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#173867;stroke-width:1.3043046px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + id="path1951" sodipodi:cx="15.590227" sodipodi:cy="16.57217" sodipodi:rx="14.345175" sodipodi:ry="14.345175" d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1 1.2450523,16.57217 A 14.345175 14.345175 0 1 1 29.935402 16.57217 z" - transform="matrix(0.732268,0,0,0.732268,0.582335,-0.13671)" /> + transform="matrix(0.766665,0,0,0.766715,-0.450429,-1.204777)" /> <path sodipodi:type="arc" - style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:1.68800032px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - id="path1341" + style="fill:#8ab0d7;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2788" + sodipodi:cx="-3.8088531" + sodipodi:cy="3.303823" + sodipodi:rx="3.1932809" + sodipodi:ry="3.3471739" + d="M -0.61557221 3.303823 A 3.1932809 3.3471739 0 1 1 -7.0021341,3.303823 A 3.1932809 3.3471739 0 1 1 -0.61557221 3.303823 z" + transform="matrix(3.246937,0,0,3.097864,23.99872,1.396119)" /> + <path + sodipodi:type="arc" + style="opacity:0.40340911;color:black;fill:#babdb6;fill-opacity:1;fill-rule:evenodd;stroke:#173867;stroke-width:1.59390604px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + id="path1954" sodipodi:cx="15.590227" sodipodi:cy="16.57217" sodipodi:rx="14.345175" sodipodi:ry="14.345175" d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1 1.2450523,16.57217 A 14.345175 14.345175 0 1 1 29.935402 16.57217 z" - transform="matrix(0.592417,0,0,0.592416,2.763254,2.183203)" /> + transform="matrix(0.627389,0,0,0.627389,1.718859,1.102807)" /> <path sodipodi:type="arc" - style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:7.84294748px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - id="path2216" - sodipodi:cx="15.590227" - sodipodi:cy="16.57217" - sodipodi:rx="14.345175" - sodipodi:ry="14.345175" - d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1 1.2450523,16.57217 A 14.345175 14.345175 0 1 1 29.935402 16.57217 z" - transform="matrix(0.127505,0,0,0.127505,10.01337,9.888169)" /> + style="fill:#dcdcd8;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2796" + sodipodi:cx="6.0403023" + sodipodi:cy="7.5551186" + sodipodi:rx="1.615877" + sodipodi:ry="1.3273276" + d="M 7.6561793 7.5551186 A 1.615877 1.3273276 0 1 1 4.4244252,7.5551186 A 1.615877 1.3273276 0 1 1 7.6561793 7.5551186 z" + transform="matrix(5.2603,0,0,6.403843,-20.2738,-36.88179)" /> <path - style="opacity:0.5;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2245);stroke-width:0.99999976px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - d="M 21.51933,11.9953 C 21.51933,17.24738 17.256803,21.509937 12.004759,21.509937 C 6.7527164,21.509937 2.4901888,17.24738 2.4901888,11.9953 C 2.4901888,6.7432209 6.7527164,2.4806637 12.004759,2.4806637 C 17.256803,2.4806637 21.51933,6.7432209 21.51933,11.9953 z " - id="path2220" /> + sodipodi:type="arc" + style="opacity:0.76704544;fill:none;fill-opacity:1;stroke:url(#linearGradient1983);stroke-width:0.52440464;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2802" + sodipodi:cx="7.5" + sodipodi:cy="7" + sodipodi:rx="5.5" + sodipodi:ry="5" + d="M 13 7 A 5.5 5 0 1 1 2,7 A 5.5 5 0 1 1 13 7 z" + transform="matrix(1.818182,0,0,2,-2.136362,-2.499999)" /> <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" - id="path1588" - sodipodi:cx="20.264311" - sodipodi:cy="14.476474" - sodipodi:rx="2.9448855" - sodipodi:ry="0.78724658" - d="M 23.209196 14.476474 A 2.9448855 0.78724658 0 1 1 17.319425,14.476474 A 2.9448855 0.78724658 0 1 1 23.209196 14.476474 z" - transform="matrix(0.624124,-0.624126,1.00058,1.000585,-12.1323,7.162558)" /> - <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" - id="path2476" - sodipodi:cx="20.264311" - sodipodi:cy="14.476474" - sodipodi:rx="2.9448855" - sodipodi:ry="0.78724658" - d="M 23.209196 14.476474 A 2.9448855 0.78724658 0 1 1 17.319425,14.476474 A 2.9448855 0.78724658 0 1 1 23.209196 14.476474 z" - transform="matrix(0.624125,0.624124,1.000581,-1.00058,-12.13234,16.83743)" /> + style="fill:url(#radialGradient2817);fill-opacity:1.0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2852" + sodipodi:cx="6.0403023" + sodipodi:cy="7.5551186" + sodipodi:rx="1.615877" + sodipodi:ry="1.3273276" + d="M 4.835244,8.4394021 A 1.615877,1.3273276 0 0 1 6.0776839,6.2281462 L 6.0403023,7.5551186 z" + transform="matrix(3.941577,0,0,4.521472,-12.44011,-23.15852)" + sodipodi:start="2.4124729" + sodipodi:end="4.735525" /> + <rect + style="fill:#888a85;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect1926" + width="1" + height="1" + x="10" + y="-13" + transform="matrix(0,1,-1,0,0,0)" /> + <rect + style="fill:#888a85;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect1928" + width="1" + height="1" + x="12" + y="-13" + transform="matrix(0,1,-1,0,0,0)" /> + <rect + style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2838" + width="3" + height="3" + x="10" + y="-13" + rx="1.5" + ry="1.5" + transform="matrix(0,1,-1,0,0,0)" /> + <rect + style="fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect1987" + width="1" + height="1" + x="11" + y="-12" + rx="0.5" + ry="0.5" + transform="matrix(0,1,-1,0,0,0)" /> + <rect + style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect1991" + width="1" + height="1" + x="9" + y="-14" + transform="matrix(0,1,-1,0,0,0)" /> + <rect + style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect1993" + width="1" + height="1" + x="8" + y="-15" + transform="matrix(0,1,-1,0,0,0)" /> + <rect + style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect1995" + width="1" + height="1" + x="7" + y="-16" + transform="matrix(0,1,-1,0,0,0)" /> + <rect + style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect1999" + width="1" + height="1" + x="-13.953762" + y="-14" + transform="matrix(0,-1,-1,0,0,0)" /> + <rect + style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2001" + width="1" + height="1" + x="-14.953762" + y="-15" + transform="matrix(0,-1,-1,0,0,0)" /> + <rect + style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2003" + width="1" + height="1" + x="-15.953762" + y="-16" + transform="matrix(0,-1,-1,0,0,0)" /> + <rect + style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect1932" + width="1" + height="1.0102224" + x="11" + y="10.989778" /> </g> </svg>
--- a/pidgin/pixmaps/status/22/scalable/offline.svg Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/status/22/scalable/offline.svg Thu Jun 21 20:37:57 2007 +0000 @@ -7,16 +7,16 @@ 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/status/22/scalable" - sodipodi:docname="offline22.svg" + sodipodi:docbase="/home/hbons/Desktop/experiment/status/22/scalable" + sodipodi:docname="offline.svg" inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/offline.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90"> @@ -24,6 +24,30 @@ id="defs4"> <linearGradient inkscape:collect="always" + id="linearGradient3034"> + <stop + style="stop-color:#babdb6;stop-opacity:1" + offset="0" + id="stop3036" /> + <stop + style="stop-color:#d3d7cf;stop-opacity:0;" + offset="1" + id="stop3038" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2784"> + <stop + style="stop-color:#babdb6;stop-opacity:1;" + offset="0" + id="stop2786" /> + <stop + style="stop-color:#babdb6;stop-opacity:0;" + offset="1" + id="stop2788" /> + </linearGradient> + <linearGradient + inkscape:collect="always" id="linearGradient3816"> <stop style="stop-color:#000000;stop-opacity:1;" @@ -108,7 +132,1189 @@ x1="12.00096" y1="18.000015" x2="12.00096" - y2="12.421011" /> + y2="12.421011" + gradientTransform="translate(-14.51828,-0.483273)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2784" + id="linearGradient2790" + x1="11.999999" + y1="17.358862" + x2="11.999999" + y2="11.173834" + gradientUnits="userSpaceOnUse" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient3286" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient3002" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3150" + id="radialGradient3201" + cx="10.748654" + cy="10.457643" + fx="10.748654" + fy="10.457643" + r="6.6449099" + gradientTransform="matrix(-0.842757,5.698892e-16,-4.565819e-9,-0.35721,19.80716,14.19321)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2239" + id="linearGradient2245" + x1="15.602553" + y1="1.5657365" + x2="15.602553" + y2="21.045444" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.705322,0,0,0.705327,-24.28038,0.710083)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient5129" + id="radialGradient3210" + cx="10.99079" + cy="5.3375292" + fx="10.99079" + fy="5.3375292" + r="5.7619157" + gradientTransform="matrix(1,0,0,0.493392,0,4.185903)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient3212" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + id="linearGradient3214" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient3216" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <linearGradient + id="linearGradient3224"> + <stop + id="stop3226" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop3228" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient3230" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient1983" + gradientUnits="userSpaceOnUse" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient3245" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)" + gradientUnits="userSpaceOnUse" + y2="33.483475" + x2="15.522223" + y1="1.5657365" + x1="15.602553" + id="linearGradient3247" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient3249" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient3251" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2239" + id="linearGradient2059" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.705322,0,0,0.705327,-24.28038,0.710083)" + x1="15.602553" + y1="1.5657365" + x2="15.602553" + y2="21.045444" /> + <linearGradient + y2="32.896225" + x2="11.507221" + y1="4.5275822" + x1="6.6158633" + gradientTransform="matrix(1.535977,0,0,1.528473,-0.804927,-0.69647)" + gradientUnits="userSpaceOnUse" + id="linearGradient2210" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <linearGradient + y2="10.792614" + x2="9.0812168" + y1="-0.76356995" + x1="3.3119085" + gradientTransform="matrix(2.177693,0,0,2.167044,-2.372032,-2.235246)" + gradientUnits="userSpaceOnUse" + id="linearGradient2208" + xlink:href="#linearGradient2186" + inkscape:collect="always" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2898" + id="radialGradient2141" + cx="4.8470273" + cy="6.9473476" + fx="4.8470273" + fy="6.9473476" + r="0.8078171" + gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2149" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2186" + id="linearGradient2157" + x1="9.2594385" + y1="-1.5641226" + x2="11.226587" + y2="17.697369" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.684526,0,0,0.687171,-0.20455,-0.253325)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2239" + id="linearGradient2165" + x1="8.7505674" + y1="4.5934086" + x2="31.18539" + y2="39.834526" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.482882,0,0,0.482874,0.269812,0.26982)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2167" + gradientUnits="userSpaceOnUse" + x1="17.890068" + y1="8.0617304" + x2="17.890068" + y2="40.032413" /> + <linearGradient + id="linearGradient2169"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop2171" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop2173" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient2187" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.914124,0,0,1.631747,2.671799,-12.00863)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient2857" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientUnits="userSpaceOnUse" /> + <linearGradient + id="linearGradient2851"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop2853" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop2855" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3149"> + <stop + style="stop-color:#eeeeec;stop-opacity:1;" + offset="0" + id="stop3151" /> + <stop + style="stop-color:#eeeeec;stop-opacity:0;" + offset="1" + id="stop3153" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient1988" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient3155" + x1="17.890068" + y1="8.3091545" + x2="17.890068" + y2="36.574547" + gradientUnits="userSpaceOnUse" /> + <linearGradient + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + gradientUnits="userSpaceOnUse" + id="linearGradient3007" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient3005" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + id="linearGradient2812"> + <stop + style="stop-color:#2e3436;stop-opacity:1;" + offset="0" + id="stop2814" /> + <stop + style="stop-color:#2e3436;stop-opacity:0;" + offset="1" + id="stop2816" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2804"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop2806" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop2808" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2949" + gradientUnits="userSpaceOnUse" + x1="17.890068" + y1="8.0617304" + x2="17.890068" + y2="40.032413" /> + <linearGradient + id="linearGradient2951"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop2953" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop2955" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient2963" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient2810" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2818" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient1955" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <radialGradient + gradientTransform="matrix(0.914124,0,0,1.631747,2.671799,-12.00863)" + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient1953" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <linearGradient + id="linearGradient1935"> + <stop + id="stop1937" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop1939" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient2269" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + y2="36.603138" + x2="24.240097" + y1="9.4211226" + x1="15.498499" + gradientUnits="userSpaceOnUse" + id="linearGradient4740" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + gradientUnits="userSpaceOnUse" + id="linearGradient4738" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2898" + id="radialGradient1990" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)" + cx="4.8470273" + cy="6.9473476" + fx="4.8470273" + fy="6.9473476" + r="0.8078171" /> + <linearGradient + y2="21.045444" + x2="15.602553" + y1="1.5657365" + x1="15.602553" + gradientTransform="matrix(0.705322,0,0,0.705327,8.71963,7.710084)" + gradientUnits="userSpaceOnUse" + id="linearGradient2073" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient2057" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient2032" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2239" + id="linearGradient2040" + x1="15.602553" + y1="1.5657365" + x2="15.522223" + y2="33.483475" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)" /> + <linearGradient + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + gradientUnits="userSpaceOnUse" + id="linearGradient2100" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2086" + gradientUnits="userSpaceOnUse" + x1="17.890068" + y1="8.0617304" + x2="17.890068" + y2="40.032413" /> + <linearGradient + id="linearGradient2080"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop2082" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop2084" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient2072" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient2070" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2068" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.493392,0,4.185903)" + r="5.7619157" + fy="5.3375292" + fx="10.99079" + cy="5.3375292" + cx="10.99079" + id="radialGradient5135" + xlink:href="#linearGradient5129" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.842757,0,0,-0.35721,19.80716,14.19321)" + r="6.6449099" + fy="10.457643" + fx="10.748654" + cy="10.457643" + cx="10.748654" + id="radialGradient2921" + xlink:href="#linearGradient3150" + inkscape:collect="always" /> + <linearGradient + id="linearGradient5129" + inkscape:collect="always"> + <stop + id="stop5131" + offset="0" + style="stop-color:white;stop-opacity:1;" /> + <stop + id="stop5133" + offset="1" + style="stop-color:white;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2126" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2239" + id="linearGradient2132" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.705322,0,0,0.705327,-58.76363,3.243275)" + x1="15.602553" + y1="1.5657365" + x2="15.602553" + y2="21.045444" /> + <linearGradient + id="linearGradient2239" + inkscape:collect="always"> + <stop + id="stop2241" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop2243" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2186" + inkscape:collect="always"> + <stop + id="stop2188" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop2190" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2898" + inkscape:collect="always"> + <stop + id="stop2900" + offset="0" + style="stop-color:#000000;stop-opacity:1;" /> + <stop + id="stop2902" + offset="1" + style="stop-color:#000000;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2186" + id="linearGradient3014" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.177693,0,0,2.167044,21.62797,-2.235244)" + x1="3.3119085" + y1="-0.76356995" + x2="9.0812168" + y2="10.792614" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2239" + id="linearGradient3016" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.535977,0,0,1.528473,23.19507,-0.696468)" + x1="6.6158633" + y1="4.5275822" + x2="11.507221" + y2="32.896225" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient3021" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3034" + id="linearGradient3040" + x1="11.500003" + y1="19.000008" + x2="11.500003" + y2="9.3821249" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3034" + id="linearGradient3044" + gradientUnits="userSpaceOnUse" + x1="11.500003" + y1="19.000008" + x2="11.500003" + y2="9.3821249" + gradientTransform="matrix(0.857143,0,0,0.857143,1.642855,1.64286)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3034" + id="linearGradient3048" + gradientUnits="userSpaceOnUse" + x1="11.500003" + y1="19.000008" + x2="11.500003" + y2="9.3821249" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient2062" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + gradientTransform="matrix(1.076595,0,0,1.076595,-34.76035,-3.418494)" + gradientUnits="userSpaceOnUse" + id="linearGradient2253" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <linearGradient + y2="36.603138" + x2="24.240097" + y1="9.4211226" + x1="15.498499" + gradientTransform="matrix(1.004822,0,0,1.004822,-33.47635,-2.157242)" + gradientUnits="userSpaceOnUse" + id="linearGradient2056" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2246"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop2248" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop2250" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient1983" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2236" + x1="17.890068" + y1="8.3091545" + x2="17.890068" + y2="36.574547" + gradientUnits="userSpaceOnUse" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient3025" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + gradientUnits="userSpaceOnUse" + id="linearGradient2232" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient2230" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2215" + gradientUnits="userSpaceOnUse" + x1="17.890068" + y1="8.0617304" + x2="17.890068" + y2="40.032413" /> + <linearGradient + id="linearGradient2209"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop2211" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop2213" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient2206" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient2204" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2202" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)" + r="0.8078171" + fy="6.9473476" + fx="4.8470273" + cy="6.9473476" + cx="4.8470273" + id="radialGradient2904" + xlink:href="#linearGradient2898" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient2199" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <radialGradient + gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)" + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient2197" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2191"> + <stop + id="stop2193" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop2195" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient2189" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + y2="36.603138" + x2="24.240097" + y1="9.4211226" + x1="15.498499" + gradientUnits="userSpaceOnUse" + id="linearGradient2187" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + gradientUnits="userSpaceOnUse" + id="linearGradient2184" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2176" + gradientUnits="userSpaceOnUse" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" + gradientTransform="matrix(1.004822,0,0,1.004822,-2.476351,-2.157242)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient1986" + gradientUnits="userSpaceOnUse" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientTransform="matrix(1.076595,0,0,1.076595,-3.760351,-3.418494)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2898" + id="radialGradient2173" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)" + cx="4.8470273" + cy="6.9473476" + fx="4.8470273" + fy="6.9473476" + r="0.8078171" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient1992" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + y2="21.045444" + x2="15.602553" + y1="1.5657365" + x1="15.602553" + gradientTransform="matrix(0.705322,0,0,0.705327,8.71963,7.710084)" + gradientUnits="userSpaceOnUse" + id="linearGradient2170" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient2167" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient2165" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2239" + id="linearGradient2163" + x1="15.602553" + y1="1.5657365" + x2="15.522223" + y2="33.483475" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient1985" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + gradientUnits="userSpaceOnUse" + id="linearGradient2160" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2158" + gradientUnits="userSpaceOnUse" + x1="17.890068" + y1="8.0617304" + x2="17.890068" + y2="40.032413" /> + <linearGradient + id="linearGradient2151"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop2153" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop2155" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient2149" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient2147" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2144" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.493392,0,4.185903)" + r="5.7619157" + fy="5.3375292" + fx="10.99079" + cy="5.3375292" + cx="10.99079" + id="radialGradient2142" + xlink:href="#linearGradient5129" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.842757,0,0,-0.35721,19.80716,14.19321)" + r="6.6449099" + fy="10.457643" + fx="10.748654" + cy="10.457643" + cx="10.748654" + id="radialGradient2035" + xlink:href="#linearGradient3150" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2127" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2239" + id="linearGradient2125" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.705322,0,0,0.705327,-58.76363,3.243275)" + x1="15.602553" + y1="1.5657365" + x2="15.602553" + y2="21.045444" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2146" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2148" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + gradientTransform="matrix(1.40375,0,0,1.403934,-1.668488,-1.296374)" + y2="9.1482677" + x2="12.00096" + y1="17.203793" + x1="12.00096" + gradientUnits="userSpaceOnUse" + id="linearGradient2121" + xlink:href="#linearGradient2235" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="14.895812" + x2="11.802028" + y1="1.9986149" + x1="11.802028" + id="linearGradient2119" + xlink:href="#linearGradient2225" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.842757,5.698892e-16,-4.565819e-9,-0.35721,19.80716,14.19321)" + r="6.6449099" + fy="10.457643" + fx="10.748654" + cy="10.457643" + cx="10.748654" + id="radialGradient2105" + xlink:href="#linearGradient3150" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient2097" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2225" + id="linearGradient2268" + gradientUnits="userSpaceOnUse" + x1="11.802028" + y1="1.9986149" + x2="11.802028" + y2="14.895812" /> </defs> <sodipodi:namedview id="base" @@ -118,16 +1324,18 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="20.899939" - inkscape:cx="21.212814" - inkscape:cy="11.149734" + inkscape:cx="22.169755" + inkscape:cy="10.589231" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" fill="#888a85" - inkscape:window-width="1268" - inkscape:window-height="971" - inkscape:window-x="6" - inkscape:window-y="21" /> + inkscape:window-width="1434" + inkscape:window-height="844" + inkscape:window-x="0" + inkscape:window-y="0" + showguides="true" + inkscape:guide-bbox="true" /> <metadata id="metadata7"> <rdf:RDF> @@ -149,39 +1357,29 @@ sodipodi:rx="8.6620579" sodipodi:cy="19.008621" sodipodi:cx="31.112698" - id="path4318" - style="opacity:0.7;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + id="path1948" + style="color:black;fill:url(#radialGradient3021);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" sodipodi:type="arc" - transform="matrix(1.385352,0,0,0.634953,-31.10204,6.430418)" /> + transform="matrix(1.269906,0,0,0.346338,-27.5102,14.41659)" /> <path - style="fill:#888a85;fill-opacity:1;stroke:#555753;stroke-width:0.99999809;stroke-miterlimit:4;stroke-opacity:1" - d="M 19.424962,19.424965 C 15.325526,23.524403 8.6720624,23.525096 4.5734814,19.426514 C 0.47490009,15.327931 0.47559413,8.6744652 4.5750306,4.5750271 C 8.6744668,0.4755893 15.32793,0.47489516 19.426511,4.573478 C 23.525092,8.6720606 23.524399,15.325527 19.424962,19.424965 z " + style="fill:#888a85;fill-opacity:1;stroke:#2e3436;stroke-width:0.99999821;stroke-miterlimit:4;stroke-opacity:1" + d="M 19.27853,19.278538 C 14.983883,23.573188 8.0135883,23.573914 3.719837,19.280161 C -0.57391464,14.986408 -0.57318755,8.0161106 3.72146,3.7214613 C 8.0161072,-0.57318761 14.986402,-0.57391481 19.280153,3.7198384 C 23.573904,8.0135915 23.573178,14.983889 19.27853,19.278538 z " id="path2187" /> <path - sodipodi:type="inkscape:offset" - inkscape:radius="-1.0137641" - inkscape:original="M 12 1.5 C 9.311882 1.5002804 6.612218 2.5127812 4.5625 4.5625 C 0.46306353 8.6619381 0.46391853 15.338917 4.5625 19.4375 C 8.661081 23.536082 15.338065 23.536938 19.4375 19.4375 C 23.536937 15.338062 23.53608 8.6610824 19.4375 4.5625 C 17.388209 2.5132086 14.688118 1.4997196 12 1.5 z " - xlink:href="#path2187" - style="fill:url(#linearGradient2231);fill-opacity:1.0;stroke:#ffffff;stroke-width:0.99999809;stroke-miterlimit:4;stroke-opacity:1;opacity:0.4" - id="path2215" - inkscape:href="#path2187" - d="M 12,2.5 C 9.5663798,2.5002539 7.1342728,3.4282024 5.28125,5.28125 C 1.5710546,8.9914951 1.5718911,15.009341 5.28125,18.71875 C 8.9905967,22.428146 15.008567,22.428982 18.71875,18.71875 C 22.428945,15.008505 22.428107,8.990658 18.71875,5.28125 C 16.86613,3.4286052 14.43323,2.4997462 12,2.5 z " /> + style="opacity:0.4;fill:url(#linearGradient2231);fill-opacity:1;stroke:white;stroke-width:0.99999809;stroke-miterlimit:4;stroke-opacity:1" + d="M 11.5,1.5 C 8.9408673,1.500267 6.3904601,2.4845389 4.4375,4.4375 C 0.53092837,8.3440732 0.53180564,14.656804 4.4375,18.5625 C 8.3431938,22.468195 14.655929,22.469073 18.5625,18.5625 C 22.469072,14.655927 22.468194,8.3431958 18.5625,4.4375 C 16.609962,2.4849619 14.058743,1.4997331 11.5,1.5 z " + id="path2215" /> <path - style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 15.713272,5.1062978 L 12.00096,8.8186095 L 8.2886482,5.1062978 L 5.0182784,8.3766676 L 8.7305901,12.088979 L 5.1066667,15.712903 L 8.3770366,18.983273 L 12.00096,15.359349 L 15.602786,18.961176 L 18.873156,15.690806 L 15.27133,12.088979 L 18.983642,8.3766676 L 15.713272,5.1062978 z " - id="path2233" /> + style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1.00000024;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 15.527292,4.7878577 C 15.153659,4.4142246 14.558496,4.4142246 14.184863,4.7878577 L 11.500003,7.4727164 L 8.7941693,4.7668822 C 8.4383282,4.4110411 7.849532,4.4110411 7.4936909,4.7668822 L 4.7668812,7.4936919 C 4.4110402,7.8495329 4.4110401,8.4383292 4.7668812,8.7941703 L 7.4727154,11.500004 L 4.7878567,14.184864 C 4.4142238,14.558497 4.4142236,15.15366 4.7878567,15.527293 L 7.4727154,18.212151 C 7.8463484,18.585784 8.4415118,18.585784 8.8151448,18.212151 L 11.500003,15.527293 L 14.205838,18.233126 C 14.561679,18.588967 15.150475,18.588967 15.506317,18.233126 L 18.233125,15.506318 C 18.588966,15.150476 18.588965,14.56168 18.233125,14.205839 L 15.527292,11.500004 L 18.21215,8.8151458 C 18.585783,8.4415126 18.585784,7.84635 18.21215,7.4727164 L 15.527292,4.7878577 z " + id="path3032" /> <path - style="opacity:1;fill:url(#linearGradient2270);fill-opacity:1;stroke:#555753;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 15.713272,5.1062978 L 12.00096,8.8186095 L 8.2886482,5.1062978 L 5.0182784,8.3766676 L 8.7305901,12.088979 L 5.1066667,15.712903 L 8.3770366,18.983273 L 12.00096,15.359349 L 15.602786,18.961176 L 18.873156,15.690806 L 15.27133,12.088979 L 18.983642,8.3766676 L 15.713272,5.1062978 z " - id="rect2204" /> + style="opacity:1;fill:url(#linearGradient3040);fill-opacity:1.0;stroke:#555753;stroke-width:1.00000024;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 15.527292,4.7878577 C 15.153659,4.4142246 14.558496,4.4142246 14.184863,4.7878577 L 11.500003,7.4727164 L 8.7941693,4.7668822 C 8.4383282,4.4110411 7.849532,4.4110411 7.4936909,4.7668822 L 4.7668812,7.4936919 C 4.4110402,7.8495329 4.4110401,8.4383292 4.7668812,8.7941703 L 7.4727154,11.500004 L 4.7878567,14.184864 C 4.4142238,14.558497 4.4142236,15.15366 4.7878567,15.527293 L 7.4727154,18.212151 C 7.8463484,18.585784 8.4415118,18.585784 8.8151448,18.212151 L 11.500003,15.527293 L 14.205838,18.233126 C 14.561679,18.588967 15.150475,18.588967 15.506317,18.233126 L 18.233125,15.506318 C 18.588966,15.150476 18.588965,14.56168 18.233125,14.205839 L 15.527292,11.500004 L 18.21215,8.8151458 C 18.585783,8.4415126 18.585784,7.84635 18.21215,7.4727164 L 15.527292,4.7878577 z " + id="rect3024" /> <path - sodipodi:type="inkscape:offset" - inkscape:radius="-1.0009557" - inkscape:original="M 8.28125 5.09375 L 5.03125 8.375 L 8.71875 12.09375 L 5.09375 15.71875 L 8.375 18.96875 L 12 15.34375 L 15.59375 18.96875 L 18.875 15.6875 L 15.28125 12.09375 L 18.96875 8.375 L 15.71875 5.09375 L 12 8.8125 L 8.28125 5.09375 z " - xlink:href="#rect2204" - style="opacity:1;fill:none;fill-opacity:1;stroke:#e1e1e1;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path2268" - inkscape:href="#rect2204" - d="M 8.28125,6.53125 L 6.46875,8.375 L 9.4375,11.375 C 9.6319915,11.563548 9.7417695,11.822867 9.7417695,12.09375 C 9.7417695,12.364633 9.6319915,12.623952 9.4375,12.8125 L 6.53125,15.71875 L 8.375,17.53125 L 11.28125,14.625 C 11.469798,14.430508 11.729117,14.320731 12,14.320731 C 12.270883,14.320731 12.530202,14.430508 12.71875,14.625 L 15.59375,17.53125 L 17.4375,15.6875 L 14.5625,12.8125 C 14.368008,12.623952 14.258231,12.364633 14.258231,12.09375 C 14.258231,11.822867 14.368008,11.563548 14.5625,11.375 L 17.53125,8.375 L 15.71875,6.53125 L 12.71875,9.53125 C 12.530202,9.7257415 12.270883,9.8355195 12,9.8355195 C 11.729117,9.8355195 11.469798,9.7257415 11.28125,9.53125 L 8.28125,6.53125 z " /> + style="fill:none;fill-opacity:1;stroke:white;stroke-width:1.00000024;stroke-miterlimit:4;stroke-opacity:1" + d="M 8.15625,5.625 L 5.625,8.15625 L 8.21875,10.78125 C 8.6216689,11.187934 8.6216689,11.843316 8.21875,12.25 L 5.625,14.875 L 8.125,17.375 L 10.75,14.78125 C 11.156684,14.378331 11.812066,14.378331 12.21875,14.78125 L 14.84375,17.375 L 17.375,14.84375 L 14.78125,12.21875 C 14.378331,11.812066 14.378331,11.156684 14.78125,10.75 L 17.375,8.125 L 14.875,5.625 L 12.25,8.21875 C 11.843316,8.6216689 11.187934,8.6216689 10.78125,8.21875 L 8.15625,5.625 z " + id="path3050" /> </g> </svg>
--- a/pidgin/pixmaps/status/32/scalable/available.svg Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/status/32/scalable/available.svg Thu Jun 21 20:37:57 2007 +0000 @@ -7,19 +7,19 @@ 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="32" height="32" id="svg2" sodipodi:version="0.32" - inkscape:version="0.43" + inkscape:version="0.44.1" version="1.0" inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/32/available32.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" - sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/32/scalable" - sodipodi:docname="available32.svg"> + sodipodi:docbase="/home/hbons/Desktop/experiment/status/32/scalable" + sodipodi:docname="available.svg"> <defs id="defs4"> <linearGradient @@ -76,15 +76,434 @@ x2="17.890068" y2="36.574547" gradientUnits="userSpaceOnUse" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient3025" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + gradientUnits="userSpaceOnUse" + id="linearGradient3007" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient3005" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + id="linearGradient2812"> + <stop + style="stop-color:#2e3436;stop-opacity:1;" + offset="0" + id="stop2814" /> + <stop + style="stop-color:#2e3436;stop-opacity:0;" + offset="1" + id="stop2816" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2804"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop2806" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop2808" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2949" + gradientUnits="userSpaceOnUse" + x1="17.890068" + y1="8.0617304" + x2="17.890068" + y2="40.032413" /> + <linearGradient + id="linearGradient2951"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop2953" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop2955" /> + </linearGradient> <linearGradient inkscape:collect="always" xlink:href="#linearGradient2851" - id="linearGradient2857" + id="linearGradient2963" x1="6.878005" y1="11.789385" x2="12.233074" y2="27.77807" gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient2810" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2818" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)" + r="0.8078171" + fy="6.9473476" + fx="4.8470273" + cy="6.9473476" + cx="4.8470273" + id="radialGradient2904" + xlink:href="#linearGradient2898" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient1955" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <radialGradient + gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)" + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient1953" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <linearGradient + id="linearGradient1935"> + <stop + id="stop1937" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop1939" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient2269" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + y2="36.603138" + x2="24.240097" + y1="9.4211226" + x1="15.498499" + gradientUnits="userSpaceOnUse" + id="linearGradient4740" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + gradientUnits="userSpaceOnUse" + id="linearGradient4738" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2898" + inkscape:collect="always"> + <stop + id="stop2900" + offset="0" + style="stop-color:white;stop-opacity:1;" /> + <stop + id="stop2902" + offset="1" + style="stop-color:white;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient1983" + gradientUnits="userSpaceOnUse" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" + gradientTransform="matrix(1.004822,0,0,1.004822,-2.476351,-2.157242)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient1986" + gradientUnits="userSpaceOnUse" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientTransform="matrix(1.076595,0,0,1.076595,-3.760351,-3.418494)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2898" + id="radialGradient1990" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)" + cx="4.8470273" + cy="6.9473476" + fx="4.8470273" + fy="6.9473476" + r="0.8078171" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient1992" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + y2="21.045444" + x2="15.602553" + y1="1.5657365" + x1="15.602553" + gradientTransform="matrix(0.705322,0,0,0.705327,8.71963,7.710084)" + gradientUnits="userSpaceOnUse" + id="linearGradient2073" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient2057" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient2032" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2239" + id="linearGradient2040" + x1="15.602553" + y1="1.5657365" + x2="15.522223" + y2="33.483475" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient1985" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + gradientUnits="userSpaceOnUse" + id="linearGradient2100" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2086" + gradientUnits="userSpaceOnUse" + x1="17.890068" + y1="8.0617304" + x2="17.890068" + y2="40.032413" /> + <linearGradient + id="linearGradient2080"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop2082" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop2084" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient2072" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient2070" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2068" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.493392,0,4.185903)" + r="5.7619157" + fy="5.3375292" + fx="10.99079" + cy="5.3375292" + cx="10.99079" + id="radialGradient5135" + xlink:href="#linearGradient5129" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2239" + inkscape:collect="always"> + <stop + id="stop2241" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop2243" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.842757,0,0,-0.35721,19.80716,14.19321)" + r="6.6449099" + fy="10.457643" + fx="10.748654" + cy="10.457643" + cx="10.748654" + id="radialGradient3156" + xlink:href="#linearGradient3150" + inkscape:collect="always" /> + <linearGradient + id="linearGradient3150" + inkscape:collect="always"> + <stop + id="stop3152" + offset="0" + style="stop-color:#2e3436;stop-opacity:1;" /> + <stop + id="stop3154" + offset="1" + style="stop-color:#2e3436;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient5129" + inkscape:collect="always"> + <stop + id="stop5131" + offset="0" + style="stop-color:white;stop-opacity:1;" /> + <stop + id="stop5133" + offset="1" + style="stop-color:white;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2126" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2239" + id="linearGradient2132" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.705322,0,0,0.705327,-58.76363,3.243275)" + x1="15.602553" + y1="1.5657365" + x2="15.602553" + y2="21.045444" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2146" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2148" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> </defs> <sodipodi:namedview id="base" @@ -94,16 +513,16 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="14.928527" - inkscape:cx="21.066059" - inkscape:cy="16.155598" + inkscape:cx="1.0834072" + inkscape:cy="19.47767" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" fill="#eeeeec" - inkscape:window-width="1268" - inkscape:window-height="968" - inkscape:window-x="6" - inkscape:window-y="21" /> + inkscape:window-width="1434" + inkscape:window-height="844" + inkscape:window-x="0" + inkscape:window-y="0" /> <metadata id="metadata7"> <rdf:RDF> @@ -120,42 +539,22 @@ inkscape:groupmode="layer" id="layer1"> <path - d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.45064,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" - sodipodi:ry="8.6620579" - sodipodi:rx="8.6620579" - sodipodi:cy="19.008621" - sodipodi:cx="31.112698" - id="path4318" - style="opacity:1;color:black;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - sodipodi:type="arc" - transform="matrix(1.847136,0,0,0.865845,-41.46939,8.04148)" /> - <path + transform="matrix(1.731691,0,0,0.461784,-37.88165,19.22212)" sodipodi:type="arc" - style="opacity:1;fill:url(#linearGradient2857);fill-opacity:1;fill-rule:evenodd;stroke:#418203;stroke-width:0.96092743;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path2245" - sodipodi:cx="17.890068" - sodipodi:cy="17.572527" - sodipodi:rx="13.932817" - sodipodi:ry="13.932817" - d="M 31.822886 17.572527 A 13.932817 13.932817 0 1 1 3.9572506,17.572527 A 13.932817 13.932817 0 1 1 31.822886 17.572527 z" - transform="matrix(1.040661,0,0,1.040661,-2.617502,-2.287049)" /> + style="color:black;fill:url(#radialGradient2148);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + id="path2173" + sodipodi:cx="31.112698" + sodipodi:cy="19.008621" + sodipodi:rx="8.6620579" + sodipodi:ry="8.6620579" + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.45064,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" /> <path - sodipodi:type="arc" - style="opacity:0.5;fill:url(#linearGradient3155);fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.03206742;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path3145" - sodipodi:cx="17.890068" - sodipodi:cy="17.572527" - sodipodi:rx="13.932817" - sodipodi:ry="13.932817" - d="M 31.822886 17.572527 A 13.932817 13.932817 0 1 1 3.9572506,17.572527 A 13.932817 13.932817 0 1 1 31.822886 17.572527 z" - transform="matrix(0.968935,0,0,0.968925,-1.334307,-1.026606)" /> - <image - id="image1323" - height="64.794617" - width="64.794617" - sodipodi:absref="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png" - xlink:href="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png" - x="-74" - y="-17" /> + style="fill:url(#linearGradient1986);fill-opacity:1;fill-rule:evenodd;stroke:#306300;stroke-width:0.99999946;stroke-miterlimit:4;stroke-opacity:1" + d="M 30.500005,15.500002 C 30.500005,23.780003 23.780005,30.500004 15.500008,30.500004 C 7.2200097,30.500004 0.50001191,23.780003 0.50001191,15.500002 C 0.50001191,7.2200001 7.2200097,0.49999934 15.500008,0.49999934 C 23.780005,0.49999934 30.500005,7.2200001 30.500005,15.500002 z " + id="path4331" /> + <path + style="opacity:0.6;fill:url(#linearGradient1983);fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:0.99999863;stroke-miterlimit:4;stroke-opacity:1" + d="M 29.499996,15.5 C 29.499996,23.227999 23.227996,29.500002 15.499996,29.500002 C 7.7719974,29.500002 1.4999949,23.227999 1.4999949,15.5 C 1.4999949,7.7719992 7.7719974,1.4999993 15.499996,1.4999993 C 23.227996,1.4999993 29.499996,7.7719992 29.499996,15.5 z " + id="path4333" /> </g> </svg>
--- a/pidgin/pixmaps/status/32/scalable/away.svg Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/status/32/scalable/away.svg Thu Jun 21 20:37:57 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="32" height="32" id="svg1331" sodipodi:version="0.32" - inkscape:version="0.43" + inkscape:version="0.44.1" version="1.0" - inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/32/away32.png" + inkscape:export-filename="/home/hbons/GUI/Tango/Gaim Refresh/status/22/away.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" - sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/32/scalable" - sodipodi:docname="away32.svg"> + sodipodi:docbase="/home/hbons/Desktop/experiment/status/32/scalable" + sodipodi:docname="away.svg"> <defs id="defs1333"> <linearGradient inkscape:collect="always" + id="linearGradient2808"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop2810" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop2812" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient5129"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop5131" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop5133" /> + </linearGradient> + <linearGradient + inkscape:collect="always" id="linearGradient3816"> <stop style="stop-color:#000000;stop-opacity:1;" @@ -34,15 +58,28 @@ offset="1" id="stop3820" /> </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3150"> + <stop + style="stop-color:#2e3436;stop-opacity:1;" + offset="0" + id="stop3152" /> + <stop + style="stop-color:#2e3436;stop-opacity:0;" + offset="1" + id="stop3154" /> + </linearGradient> <radialGradient inkscape:collect="always" - xlink:href="#linearGradient3816" - id="radialGradient3822" - cx="31.112698" - cy="19.008621" - fx="31.112698" - fy="19.008621" - r="8.6620579" + xlink:href="#linearGradient3150" + id="radialGradient3156" + cx="10.748654" + cy="10.457643" + fx="10.748654" + fy="10.457643" + r="6.6449099" + gradientTransform="matrix(-0.842757,0,0,-0.35721,19.80716,14.19321)" gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" @@ -56,16 +93,171 @@ offset="1" id="stop2243" /> </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient5129" + id="radialGradient5135" + cx="10.99079" + cy="5.3375292" + fx="10.99079" + fy="5.3375292" + r="5.7619157" + gradientTransform="matrix(1,0,0,0.493392,0,4.185903)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient2818" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + id="linearGradient2810" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient2857" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <linearGradient + id="linearGradient3149" + inkscape:collect="always"> + <stop + id="stop3151" + offset="0" + style="stop-color:#eeeeec;stop-opacity:1;" /> + <stop + id="stop3153" + offset="1" + style="stop-color:#eeeeec;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2851"> + <stop + id="stop2853" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop2855" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient2269" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2804" + inkscape:collect="always"> + <stop + id="stop2806" + offset="0" + style="stop-color:white;stop-opacity:1;" /> + <stop + id="stop2808" + offset="1" + style="stop-color:white;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2812" + inkscape:collect="always"> + <stop + id="stop2814" + offset="0" + style="stop-color:#2e3436;stop-opacity:1;" /> + <stop + id="stop2816" + offset="1" + style="stop-color:#2e3436;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient1983" + gradientUnits="userSpaceOnUse" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient1985" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)" + gradientUnits="userSpaceOnUse" + y2="33.483475" + x2="15.522223" + y1="1.5657365" + x1="15.602553" + id="linearGradient2040" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient2032" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient2057" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient2239" - id="linearGradient2245" + id="linearGradient2073" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.705322,0,0,0.705327,8.71963,7.710084)" x1="15.602553" y1="1.5657365" - x2="15.522223" - y2="33.483475" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)" /> + x2="15.602553" + y2="21.045444" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2808" + id="radialGradient2814" + cx="5.2511673" + cy="7.3335675" + fx="5.2511673" + fy="7.3335675" + r="0.82651663" + gradientTransform="matrix(1,0,0,1.337946,0,-2.478349)" + gradientUnits="userSpaceOnUse" /> </defs> <sodipodi:namedview id="base" @@ -74,20 +266,20 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="19.69831" - inkscape:cx="23.600016" - inkscape:cy="15.388506" + inkscape:zoom="13.928809" + inkscape:cx="28.28763" + inkscape:cy="14.998178" inkscape:current-layer="layer1" showgrid="true" inkscape:grid-bbox="true" inkscape:document-units="px" fill="#729fcf" - inkscape:window-width="1268" - inkscape:window-height="972" - inkscape:window-x="6" - inkscape:window-y="21" - showguides="true" - inkscape:guide-bbox="true" /> + inkscape:window-width="1434" + inkscape:window-height="844" + inkscape:window-x="0" + inkscape:window-y="0" + width="32px" + height="32px" /> <metadata id="metadata1336"> <rdf:RDF> @@ -109,63 +301,101 @@ sodipodi:rx="8.6620579" sodipodi:cy="19.008621" sodipodi:cx="31.112698" - id="path4318" - style="opacity:1;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + id="path1948" + style="color:black;fill:url(#radialGradient1985);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" sodipodi:type="arc" - transform="matrix(1.847136,0,0,0.865845,-41.46939,8.04148)" /> + transform="matrix(1.731691,0,0,0.461784,-37.87757,19.22211)" /> <path sodipodi:type="arc" - style="opacity:1;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:0.98932087px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - id="path1339" + style="color:black;fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#173867;stroke-width:0.95645106px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + id="path1951" sodipodi:cx="15.590227" sodipodi:cy="16.57217" sodipodi:rx="14.345175" sodipodi:ry="14.345175" d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1 1.2450523,16.57217 A 14.345175 14.345175 0 1 1 29.935402 16.57217 z" - transform="matrix(1.010793,0,0,1.010792,0.241509,-0.751017)" /> + transform="matrix(1.045505,0,0,1.045554,-0.797598,-1.825749)" /> <path sodipodi:type="arc" - style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:1.24782109px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - id="path1341" + style="fill:#8ab0d7;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2788" + sodipodi:cx="-3.8088531" + sodipodi:cy="3.303823" + sodipodi:rx="3.1932809" + sodipodi:ry="3.3471739" + d="M -0.61557221 3.303823 A 3.1932809 3.3471739 0 1 1 -7.0021341,3.303823 A 3.1932809 3.3471739 0 1 1 -0.61557221 3.303823 z" + transform="matrix(4.414832,0,0,4.210029,32.44953,1.716868)" /> + <path + sodipodi:type="arc" + style="opacity:0.40340911;color:black;fill:#babdb6;fill-opacity:1;fill-rule:evenodd;stroke:#173867;stroke-width:1.19542968px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + id="path1954" sodipodi:cx="15.590227" sodipodi:cy="16.57217" sodipodi:rx="14.345175" sodipodi:ry="14.345175" d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1 1.2450523,16.57217 A 14.345175 14.345175 0 1 1 29.935402 16.57217 z" - transform="matrix(0.80139,0,0,0.801405,3.511281,2.723938)" /> + transform="matrix(0.836518,0,0,0.836518,2.458491,1.637077)" /> + <path + sodipodi:type="arc" + style="fill:#dcdcd8;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2796" + sodipodi:cx="6.0403023" + sodipodi:cy="7.5551186" + sodipodi:rx="1.615877" + sodipodi:ry="1.3273276" + d="M 7.6561793 7.5551186 A 1.615877 1.3273276 0 1 1 4.4244252,7.5551186 A 1.615877 1.3273276 0 1 1 7.6561793 7.5551186 z" + transform="matrix(7.116878,0,0,8.664024,-27.4881,-49.95773)" /> <path sodipodi:type="arc" - style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:5.84032869px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - id="path2216" + style="opacity:0.76704544;fill:none;fill-opacity:1;stroke:url(#linearGradient1983);stroke-width:0.37457478;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2802" + sodipodi:cx="7.5" + sodipodi:cy="7" + sodipodi:rx="5.5" + sodipodi:ry="5" + d="M 13 7 A 5.5 5 0 1 1 2,7 A 5.5 5 0 1 1 13 7 z" + transform="matrix(2.545454,0,0,2.8,-3.590908,-4.100001)" /> + <path + sodipodi:type="arc" + style="fill:url(#radialGradient2814);fill-opacity:1.0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2852" + sodipodi:cx="6.0403023" + sodipodi:cy="7.5551186" + sodipodi:rx="1.615877" + sodipodi:ry="1.3273276" + d="M 4.835244,8.4394021 A 1.615877,1.3273276 0 0 1 6.0776839,6.2281462 L 6.0403023,7.5551186 z" + transform="matrix(5.732654,0,0,7.234355,-19.36499,-39.05363)" + sodipodi:start="2.4124729" + sodipodi:end="4.735525" /> + <path + sodipodi:type="arc" + style="color:black;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:7.17263222px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + id="path2051" sodipodi:cx="15.590227" sodipodi:cy="16.57217" sodipodi:rx="14.345175" sodipodi:ry="14.345175" d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1 1.2450523,16.57217 A 14.345175 14.345175 0 1 1 29.935402 16.57217 z" - transform="matrix(0.171225,0,0,0.171225,13.33055,13.16244)" /> - <path - style="opacity:0.5;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2245);stroke-width:0.99999946px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - d="M 29.484663,15.989048 C 29.484663,23.430003 23.442356,29.46904 15.997368,29.46904 C 8.5523815,29.46904 2.5100737,23.430003 2.5100737,15.989048 C 2.5100737,8.5480941 8.5523815,2.5090586 15.997368,2.5090586 C 23.442356,2.5090586 29.484663,8.5480941 29.484663,15.989048 z " - id="path2220" /> - <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" - id="path1342" - sodipodi:cx="19.747887" - sodipodi:cy="9.4599953" - sodipodi:rx="1.4722075" - sodipodi:ry="2.6398203" - d="M 21.220094 9.4599953 A 1.4722075 2.6398203 0 1 1 18.275679,9.4599953 A 1.4722075 2.6398203 0 1 1 21.220094 9.4599953 z" - transform="matrix(0.882374,0.509439,-0.56822,0.984187,6.966287,-8.07548)" /> - <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" - id="path1344" - sodipodi:cx="19.747887" - sodipodi:cy="9.4599953" - sodipodi:rx="1.4722075" - sodipodi:ry="2.6398203" - d="M 21.220094 9.4599953 A 1.4722075 2.6398203 0 1 1 18.275679,9.4599953 A 1.4722075 2.6398203 0 1 1 21.220094 9.4599953 z" - transform="matrix(0.882374,-0.509439,-0.56822,-0.984187,6.966287,40.07548)" /> + transform="matrix(0.13942,0,0,0.139419,13.32641,13.18954)" /> + <rect + style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:4.86999989;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect4234" + width="2.0651035" + height="6.1953154" + x="20.887754" + y="-8.7545109" + transform="matrix(0.707107,0.707107,-0.707107,0.707107,0,0)" + rx="1.0325518" + ry="1.0027943" /> + <rect + style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:4.86999989;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2080" + width="2.065105" + height="6.1953192" + x="-1.0325458" + y="-30.674829" + transform="matrix(0.707107,-0.707107,-0.707107,-0.707107,0,0)" + rx="1.0325525" + ry="1.002795" /> </g> </svg>
--- a/pidgin/pixmaps/status/32/scalable/busy.svg Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/status/32/scalable/busy.svg Thu Jun 21 20:37:57 2007 +0000 @@ -7,19 +7,19 @@ 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="32" height="32" id="svg1331" sodipodi:version="0.32" - inkscape:version="0.43" + inkscape:version="0.44.1" version="1.0" inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/32/busy32.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" - sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/32/scalable" - sodipodi:docname="busy32.svg"> + sodipodi:docbase="/home/hbons/Desktop/experiment/32/scalable" + sodipodi:docname="busy.svg"> <defs id="defs1333"> <linearGradient @@ -34,16 +34,6 @@ offset="1" id="stop3820" /> </linearGradient> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3816" - id="radialGradient3822" - cx="31.112698" - cy="19.008621" - fx="31.112698" - fy="19.008621" - r="8.6620579" - gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" id="linearGradient2186"> @@ -68,26 +58,554 @@ offset="1" id="stop2243" /> </linearGradient> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient2148" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + y2="36.603138" + x2="24.240097" + y1="9.4211226" + x1="15.498499" + gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)" + gradientUnits="userSpaceOnUse" + id="linearGradient2146" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + y2="21.045444" + x2="15.602553" + y1="1.5657365" + x1="15.602553" + gradientTransform="matrix(0.705322,0,0,0.705327,-58.76363,3.243275)" + gradientUnits="userSpaceOnUse" + id="linearGradient2132" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <linearGradient + y2="36.603138" + x2="24.240097" + y1="9.4211226" + x1="15.498499" + gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)" + gradientUnits="userSpaceOnUse" + id="linearGradient2126" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + id="linearGradient5129"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop5131" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop5133" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3150"> + <stop + style="stop-color:#2e3436;stop-opacity:1;" + offset="0" + id="stop3152" /> + <stop + style="stop-color:#2e3436;stop-opacity:0;" + offset="1" + id="stop3154" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3150" + id="radialGradient3156" + cx="10.748654" + cy="10.457643" + fx="10.748654" + fy="10.457643" + r="6.6449099" + gradientTransform="matrix(-0.842757,0,0,-0.35721,19.80716,14.19321)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient5129" + id="radialGradient5135" + cx="10.99079" + cy="5.3375292" + fx="10.99079" + fy="5.3375292" + r="5.7619157" + gradientTransform="matrix(1,0,0,0.493392,0,4.185903)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient2068" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + id="linearGradient2070" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient2072" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2080"> + <stop + id="stop2082" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop2084" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient2086" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient2100" + gradientUnits="userSpaceOnUse" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient1985" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)" + gradientUnits="userSpaceOnUse" + y2="33.483475" + x2="15.522223" + y1="1.5657365" + x1="15.602553" + id="linearGradient2040" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient2032" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient2057" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient2239" - id="linearGradient2245" - x1="15.535398" - y1="1.8014067" - x2="15.535398" - y2="48.674999" + id="linearGradient2073" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.705322,0,0,0.705327,8.71963,7.710084)" + x1="15.602553" + y1="1.5657365" + x2="15.602553" + y2="21.045444" /> + <radialGradient + r="0.8078171" + fy="6.9473476" + fx="4.8470273" + cy="6.9473476" + cx="4.8470273" + gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)" + gradientUnits="userSpaceOnUse" + id="radialGradient1990" + xlink:href="#linearGradient2898" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + id="linearGradient2898"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop2900" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop2902" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient4738" + gradientUnits="userSpaceOnUse" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient4740" + gradientUnits="userSpaceOnUse" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2269" + gradientUnits="userSpaceOnUse" + x1="17.890068" + y1="8.0617304" + x2="17.890068" + y2="40.032413" /> + <linearGradient + id="linearGradient1935"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop1937" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop1939" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient1953" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient1955" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientUnits="userSpaceOnUse" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient2818" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + id="linearGradient2810" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient2963" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2951"> + <stop + id="stop2953" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop2955" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient2949" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2804" + inkscape:collect="always"> + <stop + id="stop2806" + offset="0" + style="stop-color:white;stop-opacity:1;" /> + <stop + id="stop2808" + offset="1" + style="stop-color:white;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2812" + inkscape:collect="always"> + <stop + id="stop2814" + offset="0" + style="stop-color:#2e3436;stop-opacity:1;" /> + <stop + id="stop2816" + offset="1" + style="stop-color:#2e3436;stop-opacity:0;" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient3005" gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.000376,0,0,0.999343,-1.147524e-3,1.523185e-2)" /> + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient3007" + gradientUnits="userSpaceOnUse" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="36.574547" + x2="17.890068" + y1="8.3091545" + x1="17.890068" + id="linearGradient3155" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient1988" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <linearGradient + id="linearGradient3149" + inkscape:collect="always"> + <stop + id="stop3151" + offset="0" + style="stop-color:#eeeeec;stop-opacity:1;" /> + <stop + id="stop3153" + offset="1" + style="stop-color:#eeeeec;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2851"> + <stop + id="stop2853" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop2855" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2070" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2083" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.004822,0,0,1.004822,-54.47635,15.84276)" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient2087" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.076595,0,0,1.076595,-55.76035,14.58151)" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2093" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient2857" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <radialGradient + gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)" + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient2187" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2169"> + <stop + id="stop2171" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop2173" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient2167" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(0.482882,0,0,0.482874,0.269812,0.26982)" + gradientUnits="userSpaceOnUse" + y2="39.834526" + x2="31.18539" + y1="4.5934086" + x1="8.7505674" + id="linearGradient2165" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(0.684526,0,0,0.687171,-0.20455,-0.253325)" + gradientUnits="userSpaceOnUse" + y2="17.697369" + x2="11.226587" + y1="-1.5641226" + x1="9.2594385" + id="linearGradient2157" + xlink:href="#linearGradient2186" + inkscape:collect="always" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient2149" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)" + r="0.8078171" + fy="6.9473476" + fx="4.8470273" + cy="6.9473476" + cx="4.8470273" + id="radialGradient2141" + xlink:href="#linearGradient2898" + inkscape:collect="always" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient2186" - id="linearGradient2194" - x1="11.226587" - y1="-5.4832759" - x2="11.226587" - y2="17.697369" + id="linearGradient2208" gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.418323,0,0,1.416852,-1.021803,-0.99085)" /> + gradientTransform="matrix(3.048768,0,0,3.033857,-3.920843,-3.729339)" + x1="3.3119085" + y1="-0.76356995" + x2="9.0812168" + y2="10.792614" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2239" + id="linearGradient2210" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.150367,0,0,2.139859,-1.726897,-1.575055)" + x1="6.6158633" + y1="4.5275822" + x2="11.507221" + y2="32.896225" /> </defs> <sodipodi:namedview id="base" @@ -96,18 +614,18 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="25.992076" - inkscape:cx="23.061682" - inkscape:cy="14.291409" + inkscape:zoom="11.313708" + inkscape:cx="32.077294" + inkscape:cy="17.208225" inkscape:current-layer="layer1" showgrid="true" inkscape:grid-bbox="true" inkscape:document-units="px" fill="#ef2929" - inkscape:window-width="1268" - inkscape:window-height="972" - inkscape:window-x="6" - inkscape:window-y="21" /> + inkscape:window-width="1440" + inkscape:window-height="849" + inkscape:window-x="0" + inkscape:window-y="0" /> <metadata id="metadata1336"> <rdf:RDF> @@ -124,43 +642,47 @@ inkscape:label="Layer 1" inkscape:groupmode="layer"> <path - d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.45064,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" - sodipodi:ry="8.6620579" - sodipodi:rx="8.6620579" - sodipodi:cy="19.008621" + transform="matrix(1.731691,0,0,0.461784,-37.87759,19.22212)" + sodipodi:type="arc" + style="color:black;fill:url(#radialGradient2093);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + id="path2091" sodipodi:cx="31.112698" - id="path4318" - style="opacity:1;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - sodipodi:type="arc" - transform="matrix(1.847136,0,0,0.865845,-41.46938,8.041481)" /> + sodipodi:cy="19.008621" + sodipodi:rx="8.6620579" + sodipodi:ry="8.6620579" + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.45064,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" /> <path sodipodi:type="arc" - style="opacity:1;color:#000000;fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.36561811px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - id="path1311" + style="color:black;fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.36561811px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + id="path2194" sodipodi:cx="15.590227" sodipodi:cy="16.57217" sodipodi:rx="14.345175" sodipodi:ry="14.345175" d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1 1.2450523,16.57217 A 14.345175 14.345175 0 1 1 29.935402 16.57217 z" - transform="matrix(0.989705,0,0,0.989705,0.437593,-0.53424)" /> + transform="matrix(0.936036,0,0,0.936032,1.023071,0.100614)" /> <path sodipodi:type="arc" - style="opacity:1;color:#000000;fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:0.98950732px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - id="path1339" + style="color:black;fill:#f24747;fill-opacity:1;fill-rule:evenodd;stroke:#820000;stroke-width:0.95634508px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + id="path2196" sodipodi:cx="15.590227" sodipodi:cy="16.57217" sodipodi:rx="14.345175" sodipodi:ry="14.345175" d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1 1.2450523,16.57217 A 14.345175 14.345175 0 1 1 29.935402 16.57217 z" - transform="matrix(1.010428,0,0,1.010778,0.242013,-0.750701)" /> + transform="matrix(1.045648,0,0,1.045648,-0.801887,-1.828653)" /> <path - style="opacity:0.6;color:#000000;fill:url(#linearGradient2194);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2245);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - d="M 29.499568,16.004716 C 29.499568,23.446135 23.453927,29.485548 16.004828,29.485548 C 8.5557329,29.485548 2.5100898,23.446135 2.5100898,16.004716 C 2.5100898,8.5632961 8.5557329,2.5238833 16.004828,2.5238833 C 23.453927,2.5238833 29.499568,8.5632961 29.499568,16.004716 z " - id="path2220" /> - <path - style="color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:0.99999958px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - d="M 27.51954,15.864482 C 27.51954,20.204712 25.510558,19.437434 15.893137,19.437434 C 6.2213077,19.437434 4.46153,20.133953 4.46153,16.055453 C 4.46153,11.913293 6.4064326,12.529223 15.990534,12.529223 C 25.520227,12.529223 27.51954,11.460602 27.51954,15.864482 z " - id="path1341" - sodipodi:nodetypes="czzzz" /> + style="opacity:0.6;color:black;fill:url(#linearGradient2208);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2210);stroke-width:0.99999946px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + d="M 29.499988,15.499986 C 29.499988,23.227979 23.227989,29.499978 15.49999,29.499978 C 7.7719953,29.499978 1.4999991,23.227979 1.4999991,15.499986 C 1.4999991,7.7719948 7.7719953,1.4999985 15.49999,1.4999985 C 23.227989,1.4999985 29.499988,7.7719948 29.499988,15.499986 z " + id="path2199" /> + <rect + style="fill:#eeeeec;fill-opacity:1;stroke:#a40000;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect3207" + width="24" + height="5.9877748" + x="3.5000014" + y="12.535524" + rx="2.098541" + ry="1.919746" /> </g> </svg>
--- a/pidgin/pixmaps/status/32/scalable/offline.svg Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/status/32/scalable/offline.svg Thu Jun 21 20:37:57 2007 +0000 @@ -15,7 +15,7 @@ sodipodi:version="0.32" inkscape:version="0.44.1" version="1.0" - sodipodi:docbase="/home/hbons/GUI/Tango/Gaim Refresh/status/32/scalable" + sodipodi:docbase="/home/hbons/Desktop/experiment/status/32/scalable" sodipodi:docname="offline.svg" inkscape:export-filename="/home/hbons/GUI/Tango/Gaim Refresh/status/32/offline.png" inkscape:export-xdpi="90" @@ -106,10 +106,498 @@ id="linearGradient2270" gradientUnits="userSpaceOnUse" x1="12.00096" - y1="18.000015" + y1="17.203793" x2="12.00096" - y2="12.421011" - gradientTransform="matrix(1.318182,0,0,1.318182,-2.3895e-2,0.33147)" /> + y2="9.1482677" + gradientTransform="matrix(1.40375,0,0,1.403934,-1.668488,-1.296374)" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient2148" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + y2="36.603138" + x2="24.240097" + y1="9.4211226" + x1="15.498499" + gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)" + gradientUnits="userSpaceOnUse" + id="linearGradient2146" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + y2="21.045444" + x2="15.602553" + y1="1.5657365" + x1="15.602553" + gradientTransform="matrix(0.705322,0,0,0.705327,-58.76363,3.243275)" + gradientUnits="userSpaceOnUse" + id="linearGradient2132" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <linearGradient + y2="36.603138" + x2="24.240097" + y1="9.4211226" + x1="15.498499" + gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)" + gradientUnits="userSpaceOnUse" + id="linearGradient2126" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + id="linearGradient5129"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop5131" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop5133" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3150" + id="radialGradient2035" + cx="10.748654" + cy="10.457643" + fx="10.748654" + fy="10.457643" + r="6.6449099" + gradientTransform="matrix(-0.842757,0,0,-0.35721,19.80716,14.19321)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + id="linearGradient2239"> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0" + id="stop2241" /> + <stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="1" + id="stop2243" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient5129" + id="radialGradient5135" + cx="10.99079" + cy="5.3375292" + fx="10.99079" + fy="5.3375292" + r="5.7619157" + gradientTransform="matrix(1,0,0,0.493392,0,4.185903)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient2068" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + id="linearGradient2070" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient2072" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2080"> + <stop + id="stop2082" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop2084" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient2086" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient2100" + gradientUnits="userSpaceOnUse" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient1985" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)" + gradientUnits="userSpaceOnUse" + y2="33.483475" + x2="15.522223" + y1="1.5657365" + x1="15.602553" + id="linearGradient2040" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient2032" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient2057" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2239" + id="linearGradient2073" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.705322,0,0,0.705327,8.71963,7.710084)" + x1="15.602553" + y1="1.5657365" + x2="15.602553" + y2="21.045444" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient1992" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <radialGradient + r="0.8078171" + fy="6.9473476" + fx="4.8470273" + cy="6.9473476" + cx="4.8470273" + gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)" + gradientUnits="userSpaceOnUse" + id="radialGradient1990" + xlink:href="#linearGradient2898" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(1.076595,0,0,1.076595,-3.760351,-3.418494)" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + gradientUnits="userSpaceOnUse" + id="linearGradient1986" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(1.004822,0,0,1.004822,-2.476351,-2.157242)" + y2="36.603138" + x2="24.240097" + y1="9.4211226" + x1="15.498499" + gradientUnits="userSpaceOnUse" + id="linearGradient1983" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + id="linearGradient2898"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop2900" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop2902" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient4738" + gradientUnits="userSpaceOnUse" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient4740" + gradientUnits="userSpaceOnUse" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2269" + gradientUnits="userSpaceOnUse" + x1="17.890068" + y1="8.0617304" + x2="17.890068" + y2="40.032413" /> + <linearGradient + id="linearGradient1935"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop1937" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop1939" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient1953" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient1955" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2898" + id="radialGradient2904" + cx="4.8470273" + cy="6.9473476" + fx="4.8470273" + fy="6.9473476" + r="0.8078171" + gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient2818" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + id="linearGradient2810" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient2963" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2951"> + <stop + id="stop2953" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop2955" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient2949" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2804" + inkscape:collect="always"> + <stop + id="stop2806" + offset="0" + style="stop-color:white;stop-opacity:1;" /> + <stop + id="stop2808" + offset="1" + style="stop-color:white;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2812" + inkscape:collect="always"> + <stop + id="stop2814" + offset="0" + style="stop-color:#2e3436;stop-opacity:1;" /> + <stop + id="stop2816" + offset="1" + style="stop-color:#2e3436;stop-opacity:0;" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient3005" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient3007" + gradientUnits="userSpaceOnUse" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient3025" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="36.574547" + x2="17.890068" + y1="8.3091545" + x1="17.890068" + id="linearGradient3155" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient1983" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <linearGradient + id="linearGradient3149" + inkscape:collect="always"> + <stop + id="stop3151" + offset="0" + style="stop-color:#eeeeec;stop-opacity:1;" /> + <stop + id="stop3153" + offset="1" + style="stop-color:#eeeeec;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2851"> + <stop + id="stop2853" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop2855" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2056" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.004822,0,0,1.004822,-33.47635,-2.157242)" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient2059" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.076595,0,0,1.076595,-34.76035,-3.418494)" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2062" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> </defs> <sodipodi:namedview id="base" @@ -119,16 +607,16 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="16.976026" - inkscape:cx="19.582303" - inkscape:cy="17.200313" + inkscape:cx="12.808044" + inkscape:cy="15.904368" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" fill="#888a85" - inkscape:window-width="1268" - inkscape:window-height="971" - inkscape:window-x="6" - inkscape:window-y="23" /> + inkscape:window-width="1440" + inkscape:window-height="849" + inkscape:window-x="0" + inkscape:window-y="0" /> <metadata id="metadata7"> <rdf:RDF> @@ -145,6 +633,16 @@ inkscape:groupmode="layer" id="layer1"> <path + transform="matrix(1.731691,0,0,0.461784,-37.87759,19.22212)" + sodipodi:type="arc" + style="color:black;fill:url(#radialGradient2062);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + id="path2173" + sodipodi:cx="31.112698" + sodipodi:cy="19.008621" + sodipodi:rx="8.6620579" + sodipodi:ry="8.6620579" + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.45064,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" /> + <path d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.45064,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" sodipodi:ry="8.6620579" sodipodi:rx="8.6620579" @@ -155,45 +653,26 @@ sodipodi:type="arc" transform="matrix(1.847136,0,0,0.865845,-41.46938,8.041481)" /> <path - sodipodi:type="arc" - style="opacity:1;fill:url(#radialGradient3156);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path3140" - sodipodi:cx="10.748654" - sodipodi:cy="10.457643" - sodipodi:rx="6.6449099" - sodipodi:ry="2.3675451" - d="M 17.393564 10.457643 A 6.6449099 2.3675451 0 1 1 4.1037445,10.457643 A 6.6449099 2.3675451 0 1 1 17.393564 10.457643 z" - transform="matrix(2.182121,0,0,1.391928,-7.954869,12.14827)" /> - <path - style="fill:#888a85;fill-opacity:1;stroke:#2e3436;stroke-width:0.99999875;stroke-miterlimit:4;stroke-opacity:1" - d="M 26.256921,26.256907 C 20.600315,31.913529 11.419537,31.914486 5.7641107,26.259045 C 0.10868503,20.603602 0.1096427,11.422797 5.7662484,5.7661742 C 11.422853,0.1095522 20.603631,0.10859439 26.259058,5.7640366 C 31.914483,11.419479 31.913526,20.600284 26.256921,26.256907 z " + style="fill:#888a85;fill-opacity:1;stroke:#2e3436;stroke-width:0.99999887;stroke-miterlimit:4;stroke-opacity:1" + d="M 26.107102,26.107103 C 20.250761,31.963443 10.74581,31.964434 4.8906904,26.109316 C -0.9644283,20.254196 -0.96343682,10.749245 4.8929036,4.8929035 C 10.749243,-0.96343684 20.254194,-0.96442847 26.109314,4.8906904 C 31.964432,10.74581 31.963442,20.250761 26.107102,26.107103 z " id="path2187" /> <path - sodipodi:type="inkscape:offset" - inkscape:radius="-1.0137641" - inkscape:original="M 16 1.53125 C 12.290802 1.5316369 8.6095524 2.9529389 5.78125 5.78125 C 0.1246443 11.437873 0.094574465 20.594557 5.75 26.25 C 11.405426 31.905441 20.593393 31.906622 26.25 26.25 C 31.906605 20.593377 31.905425 11.405442 26.25 5.75 C 23.422286 2.9222789 19.709198 1.5308631 16 1.53125 z " - xlink:href="#path2187" - style="opacity:0.4;fill:url(#linearGradient2231);fill-opacity:1;stroke:#ffffff;stroke-width:0.99999809;stroke-miterlimit:4;stroke-opacity:1" - id="path2215" - inkscape:href="#path2187" - d="M 16,2.53125 C 12.549705,2.5316099 9.1373736,3.8626287 6.5,6.5 C 1.2289233,11.771071 1.2014746,20.26398 6.46875,25.53125 C 11.736026,30.798519 20.262813,30.799682 25.53125,25.53125 C 30.799686,20.262819 30.798523,11.736019 25.53125,6.46875 C 22.89972,3.837224 19.4556,2.5308896 16,2.53125 z " /> + style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 20.92264,5.5294893 L 15.440071,10.599712 L 10.134222,5.2349563 L 5.3520274,10.017152 L 10.598969,15.440813 L 5.6452582,20.865777 L 9.8972946,25.942506 L 15.322258,20.340822 L 20.894813,25.442125 L 25.618102,21.013369 L 20.222267,15.49972 L 25.469209,10.252778 L 20.92264,5.5294893 z " + id="path2233" + sodipodi:nodetypes="ccccccccccccc" /> <path - style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 20.689058,7.0625004 L 15.795555,11.956003 L 10.902052,7.0625004 L 6.5911096,11.373443 L 11.484612,16.266945 L 6.7076214,21.043936 L 11.018564,25.354879 L 15.795555,20.577888 L 20.543417,25.325751 L 24.85436,21.014808 L 20.106498,16.266945 L 25,11.373443 L 20.689058,7.0625004 z " - id="path2233" /> + style="opacity:0.4;fill:url(#linearGradient2231);fill-opacity:1;stroke:white;stroke-width:0.99999809;stroke-miterlimit:4;stroke-opacity:1" + d="M 15.5,1.5 C 11.919821,1.5003735 8.3615884,2.8884111 5.625,5.625 C 0.15534426,11.094657 0.15654704,19.906546 5.625,25.375 C 11.093454,30.843452 19.905345,30.844655 25.375,25.375 C 30.844655,19.905343 30.843452,11.093454 25.375,5.625 C 22.638996,2.8889961 19.07979,1.4996266 15.5,1.5 z " + id="path2215" /> <path style="opacity:1;fill:url(#linearGradient2270);fill-opacity:1;stroke:#555753;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 20.999968,6.7515891 L 16.03118,11.543656 L 11.018644,6.7127252 L 6.7383758,11.020002 L 11.484612,16.031319 L 6.7076211,21.043936 L 11.018564,25.354879 L 16.028737,20.500159 L 20.97092,25.325751 L 25.242999,20.975944 L 20.534,16.033762 L 25.310911,11.101395 L 20.999968,6.7515891 z " + d="M 20.955744,5.3057668 L 15.428786,10.645198 L 10.208679,5.2643747 L 5.2971223,10.087479 L 10.587082,15.424797 L 5.3232778,20.999126 L 9.9729678,25.708323 L 15.426184,20.184349 L 20.92481,25.618393 L 25.650927,20.985618 L 20.223902,15.427399 L 25.723247,10.233074 L 20.955744,5.3057668 z " id="rect2204" sodipodi:nodetypes="ccccccccccccc" /> <path - sodipodi:type="inkscape:offset" - inkscape:radius="-1.0009557" - inkscape:original="M 11.03125 6.71875 L 6.75 11.03125 L 11.5 16.03125 L 6.71875 21.03125 L 11.03125 25.34375 L 16.03125 20.5 L 20.96875 25.3125 L 25.25 20.96875 L 20.53125 16.03125 L 25.3125 11.09375 L 21 6.75 L 16.03125 11.53125 L 11.03125 6.71875 z " - xlink:href="#rect2204" - style="opacity:1;fill:none;fill-opacity:1;stroke:#e1e1e1;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path2268" - inkscape:href="#rect2204" - d="M 11.40625,8.5 L 8.53125,11.375 L 12.71875,15.5625 C 12.913242,15.751048 13.023019,16.010367 13.023019,16.28125 C 13.023019,16.552133 12.913242,16.811452 12.71875,17 L 8.65625,21.03125 L 11.53125,23.90625 L 15.5625,19.84375 C 15.751048,19.649258 16.010367,19.539481 16.28125,19.539481 C 16.552133,19.539481 16.811452,19.649258 17,19.84375 L 21.03125,23.875 L 23.90625,21 L 19.875,17 C 19.680508,16.811452 19.570731,16.552133 19.570731,16.28125 C 19.570731,16.010367 19.680508,15.751048 19.875,15.5625 L 24.0625,11.375 L 21.1875,8.5 L 17,12.6875 C 16.811452,12.881992 16.552133,12.991769 16.28125,12.991769 C 16.010367,12.991769 15.751048,12.881992 15.5625,12.6875 L 11.40625,8.5 z " /> + style="fill:none;fill-opacity:1;stroke:#e1e1e1;stroke-width:1.00000036;stroke-miterlimit:4;stroke-opacity:1" + d="M 10.21875,6.6875 L 6.75,10.09375 L 11.3125,14.71875 C 11.697174,15.10858 11.697174,15.73517 11.3125,16.125 L 6.6875,21 L 9.96875,24.28125 L 14.71875,19.46875 C 14.907298,19.274258 15.166617,19.164481 15.4375,19.164481 C 15.708383,19.164481 15.967702,19.274258 16.15625,19.46875 L 20.96875,24.21875 L 24.25,21 L 19.5,16.125 C 19.123854,15.726673 19.137781,15.099974 19.53125,14.71875 L 24.3125,10.1875 L 20.9375,6.71875 L 16.125,11.375 C 15.726673,11.751146 15.099974,11.737219 14.71875,11.34375 L 10.21875,6.6875 z " + id="path2268" /> </g> </svg>
--- a/pidgin/pixmaps/tray/16/Makefile.am Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/tray/16/Makefile.am Thu Jun 21 20:37:57 2007 +0000 @@ -6,6 +6,7 @@ tray-connecting.png \ tray-extended-away.png \ tray-message.png \ + tray-new-im.png \ tray-offline.png \ tray-online.png
--- a/pidgin/pixmaps/tray/16/scalable/tray-away.svg Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/tray/16/scalable/tray-away.svg Thu Jun 21 20:37:57 2007 +0000 @@ -14,7 +14,7 @@ id="svg1872" sodipodi:version="0.32" inkscape:version="0.44.1" - sodipodi:docbase="/home/hbons/Desktop" + sodipodi:docbase="/home/hbons/Desktop/experiment/tray/16/scalable" sodipodi:docname="tray-away.svg"> <defs id="defs1874"> @@ -549,37 +549,6 @@ offset="1" style="stop-color:#eeeeec;stop-opacity:0;" /> </linearGradient> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient2781" - id="radialGradient3201" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(2,0,0,0.8,-13,-79.2)" - cx="1" - cy="44" - fx="1" - fy="44" - r="5" /> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient2781" - id="radialGradient3203" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(2,0,0,0.8,36,8.8)" - cx="1" - cy="44" - fx="1" - fy="44" - r="5" /> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient2804" - id="linearGradient3205" - gradientUnits="userSpaceOnUse" - x1="21.875" - y1="48.000977" - x2="21.875" - y2="40" /> <linearGradient y2="14.895812" x2="11.802028" @@ -780,58 +749,297 @@ offset="1.0000000" style="stop-color:#e9e9e9;stop-opacity:1.0000000;" /> </linearGradient> - <radialGradient + <linearGradient inkscape:collect="always" - xlink:href="#linearGradient2781" - id="radialGradient3398" + xlink:href="#linearGradient3149" + id="linearGradient2046" gradientUnits="userSpaceOnUse" - gradientTransform="matrix(2,0,0,0.8,-13,-79.2)" - cx="1" - cy="44" - fx="1" - fy="44" - r="5" /> - <radialGradient + x1="17.890068" + y1="8.0617304" + x2="17.890068" + y2="40.032413" /> + <linearGradient + id="linearGradient2048"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop2050" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop2052" /> + </linearGradient> + <linearGradient inkscape:collect="always" - xlink:href="#linearGradient2781" - id="radialGradient3400" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(2,0,0,0.8,36,8.8)" - cx="1" - cy="44" - fx="1" - fy="44" - r="5" /> + xlink:href="#linearGradient2851" + id="linearGradient2060" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient2804" - id="linearGradient3402" - gradientUnits="userSpaceOnUse" - x1="21.875" - y1="48.000977" - x2="21.875" - y2="40" /> + id="linearGradient2062" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" + gradientUnits="userSpaceOnUse" /> <radialGradient inkscape:collect="always" - xlink:href="#linearGradient2260" - id="radialGradient3404" + xlink:href="#linearGradient2812" + id="radialGradient2064" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + id="linearGradient2812"> + <stop + style="stop-color:#2e3436;stop-opacity:1;" + offset="0" + id="stop2814" /> + <stop + style="stop-color:#2e3436;stop-opacity:0;" + offset="1" + id="stop2816" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2269" + gradientUnits="userSpaceOnUse" + x1="17.890068" + y1="8.0617304" + x2="17.890068" + y2="40.032413" /> + <linearGradient + id="linearGradient2177"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop2179" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop2181" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3149"> + <stop + style="stop-color:#eeeeec;stop-opacity:1;" + offset="0" + id="stop3151" /> + <stop + style="stop-color:#eeeeec;stop-opacity:0;" + offset="1" + id="stop3153" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient2857" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientUnits="userSpaceOnUse" /> + <linearGradient + y2="14.895812" + x2="11.802028" + y1="1.9986149" + x1="11.802028" + gradientUnits="userSpaceOnUse" + id="linearGradient6606" + xlink:href="#linearGradient2225" + inkscape:collect="always" /> + <linearGradient + y2="48.674999" + x2="15.535398" + y1="1.8014067" + x1="15.535398" + gradientTransform="matrix(0.37378,0,0,0.375227,17.64779,15.86312)" + gradientUnits="userSpaceOnUse" + id="linearGradient2170" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <linearGradient + y2="17.697369" + x2="11.226587" + y1="-5.4832759" + x1="11.226587" + gradientTransform="matrix(0.529942,0,0,0.53199,17.26643,15.48536)" + gradientUnits="userSpaceOnUse" + id="linearGradient2168" + xlink:href="#linearGradient2186" + inkscape:collect="always" /> + <linearGradient + y2="33.483475" + x2="15.522223" + y1="1.5657365" + x1="15.602553" + gradientTransform="matrix(0.371983,0,0,0.372254,2.539836,8.539528)" + gradientUnits="userSpaceOnUse" + id="linearGradient1357" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <radialGradient gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.626667,0,6.566431)" - cx="11.756953" - cy="17.588654" + r="6.3436799" + fy="17.588654" fx="11.756953" - fy="17.588654" - r="6.3436799" /> + cy="17.588654" + cx="11.756953" + id="radialGradient2266" + xlink:href="#linearGradient2260" + inkscape:collect="always" /> + <radialGradient + r="7.0034069" + fy="8.963316" + fx="9.9988937" + cy="8.963316" + cx="9.9988937" + gradientTransform="matrix(-2.522332,-1.518129e-16,-1.517788e-16,2.521765,40.1904,-21.80154)" + gradientUnits="userSpaceOnUse" + id="radialGradient2158" + xlink:href="#linearGradient2200" + inkscape:collect="always" /> + <radialGradient + r="7.0034069" + fy="8.963316" + fx="9.9988937" + cy="8.963316" + cx="9.9988937" + gradientTransform="matrix(-2.522332,-1.518129e-16,-1.517788e-16,2.521765,40.1904,-21.83521)" + gradientUnits="userSpaceOnUse" + id="radialGradient2156" + xlink:href="#linearGradient2200" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient2148" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(0.529942,0,0,0.53199,17.26643,15.48536)" + gradientUnits="userSpaceOnUse" + y2="17.697369" + x2="11.226587" + y1="-5.4832759" + x1="11.226587" + id="linearGradient2134" + xlink:href="#linearGradient2186" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(0.37378,0,0,0.375227,17.64779,15.86312)" + gradientUnits="userSpaceOnUse" + y2="48.674999" + x2="15.535398" + y1="1.8014067" + x1="15.535398" + id="linearGradient2126" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <radialGradient + r="5" + fy="44" + fx="1" + cy="44" + cx="1" + gradientTransform="matrix(2,0,0,0.8,-13,-79.2)" + gradientUnits="userSpaceOnUse" + id="radialGradient2124" + xlink:href="#linearGradient2781" + inkscape:collect="always" /> + <radialGradient + r="5" + fy="44" + fx="1" + cy="44" + cx="1" + gradientTransform="matrix(2,0,0,0.8,36,8.8)" + gradientUnits="userSpaceOnUse" + id="radialGradient2116" + xlink:href="#linearGradient2781" + inkscape:collect="always" /> + <linearGradient + y2="40" + x2="21.875" + y1="48.000977" + x1="21.875" + gradientUnits="userSpaceOnUse" + id="linearGradient2114" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2106"> + <stop + id="stop2108" + offset="0" + style="stop-color:black;stop-opacity:0;" /> + <stop + style="stop-color:black;stop-opacity:1;" + offset="0.5" + id="stop2110" /> + <stop + id="stop2112" + offset="1" + style="stop-color:black;stop-opacity:0;" /> + </linearGradient> + <linearGradient + y2="24.143761" + x2="27.273300" + y1="10.957423" + x1="35.003674" + gradientTransform="matrix(-0.977228,0,0,0.995878,50.60272,9.115637)" + gradientUnits="userSpaceOnUse" + id="linearGradient2104" + xlink:href="#linearGradient29418" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2098"> + <stop + id="stop2100" + offset="0.0000000" + style="stop-color:#f5f5f5;stop-opacity:1.0000000;" /> + <stop + id="stop2102" + offset="1.0000000" + style="stop-color:#e9e9e9;stop-opacity:1.0000000;" /> + </linearGradient> + <linearGradient + id="linearGradient2989" + inkscape:collect="always"> + <stop + id="stop2991" + offset="0" + style="stop-color:#eeeeec;stop-opacity:1;" /> + <stop + id="stop2993" + offset="1" + style="stop-color:#eeeeec;stop-opacity:0;" /> + </linearGradient> <linearGradient inkscape:collect="always" - xlink:href="#linearGradient2239" - id="linearGradient3409" + xlink:href="#linearGradient2989" + id="linearGradient2232" gradientUnits="userSpaceOnUse" - gradientTransform="matrix(0.296524,0,0,0.296522,5.75564,5.75564)" - x1="15.602553" - y1="1.5657365" - x2="15.522223" - y2="33.483475" /> + x1="1.5769236" + y1="1.3319674" + x2="10.043059" + y2="10.018044" /> </defs> <sodipodi:namedview id="base" @@ -840,15 +1048,15 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="22.197802" - inkscape:cx="15.940485" - inkscape:cy="11.44958" + inkscape:zoom="44.395604" + inkscape:cx="14.075416" + inkscape:cy="6.2074085" inkscape:current-layer="layer1" showgrid="true" inkscape:grid-bbox="true" inkscape:document-units="px" inkscape:window-width="1440" - inkscape:window-height="853" + inkscape:window-height="849" inkscape:window-x="0" inkscape:window-y="0" /> <metadata @@ -903,90 +1111,6 @@ d="M 9.2045414,1.5000001 C 9.3816286,1.5000001 9.4999957,1.6028844 9.4999957,1.7987807 L 9.4999957,7.3475646 C 9.4999957,7.543461 9.3816293,7.6463453 9.2045414,7.6463453 L 4.9999978,8.3220879 C 4.8242182,8.3232475 4.6547723,8.3838621 4.5227251,8.4928197 L 3.7045437,9.175747 L 3.7045437,9.0050151 C 3.7025982,8.6286041 3.3781242,8.3239148 2.9772712,8.3220879 L 1.7954537,7.6463453 C 1.6183665,7.6463453 1.4999993,7.5434596 1.4999993,7.3475646 L 1.4999993,1.7987807 C 1.4999993,1.6028846 1.6183665,1.5000001 1.7954537,1.5000001 L 9.2045414,1.5000001 z " id="path5807" sodipodi:nodetypes="cccccccccccccc" /> - <g - id="g3183" - style="opacity:0.3" - transform="matrix(-0.340425,0,0,0.625,-11.6596,-23.99648)"> - <rect - transform="scale(-1,-1)" - y="-48" - x="-11" - height="8" - width="10" - id="rect3185" - style="opacity:1;color:black;fill:url(#radialGradient3201);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> - <rect - y="40" - x="38" - height="8" - width="10" - id="rect3187" - style="opacity:1;color:black;fill:url(#radialGradient3203);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> - <rect - y="40" - x="11" - height="8" - width="27" - id="rect3189" - style="opacity:1;color:black;fill:url(#linearGradient3205);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> - </g> - <path - style="fill:#efefef;fill-opacity:1;fill-rule:evenodd;stroke:#787878;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M -14.90628,-7.496478 C -14.122201,-7.496478 -13.50003,-6.8637163 -13.50003,-6.058978 L -13.50003,2.066022 C -13.50003,2.87076 -14.1222,3.503522 -14.90628,3.503522 L -20.68753,3.503522 L -23.46878,5.941022 L -23.46878,3.503522 L -25.09378,3.503522 C -25.877859,3.503522 -26.500031,2.87076 -26.50003,2.066022 L -26.50003,-6.058978 C -26.50003,-6.8637163 -25.877859,-7.496478 -25.09378,-7.496478 L -14.90628,-7.496478 z " - id="path3192" - sodipodi:nodetypes="cccccccccccc" /> - <path - sodipodi:type="inkscape:offset" - inkscape:radius="-1.0047876" - inkscape:original="M 1.59375 0.5 C 0.990612 0.5 0.49999997 1.0124794 0.5 1.65625 L 0.5 8.34375 C 0.49999924 8.9875204 0.99061204 9.46875 1.59375 9.46875 L 2.46875 9.46875 L 2.46875 11.4375 L 5.25 9.46875 L 9.40625 9.46875 C 10.009388 9.46875 10.5 8.9875205 10.5 8.34375 L 10.5 1.65625 C 10.5 1.0124794 10.009387 0.50000001 9.40625 0.5 L 1.59375 0.5 z " - xlink:href="#path2221" - style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1.19785893;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path3194" - inkscape:href="#path2221" - d="M 1.59375,1.5 C 1.5597829,1.5 1.5,1.5229727 1.5,1.65625 L 1.5,8.34375 C 1.4999998,8.4770255 1.5250763,8.46875 1.59375,8.46875 L 2.46875,8.46875 C 3.0199231,8.4714246 3.4660754,8.9175769 3.46875,9.46875 L 3.46875,9.5 L 4.65625,8.65625 C 4.8293233,8.532463 5.0372235,8.4668103 5.25,8.46875 L 9.40625,8.46875 C 9.4749239,8.46875 9.5,8.4770272 9.5,8.34375 L 9.5,1.65625 C 9.5,1.5229737 9.4402151,1.5 9.40625,1.5 L 1.59375,1.5 z " - transform="matrix(-0.834823,0,0,0.834823,13.43129,5.899303)" /> - <g - id="g3378" - style="opacity:0.3" - transform="matrix(-0.340425,0,0,0.625,-6.6596,-33.99648)"> - <rect - transform="scale(-1,-1)" - y="-48" - x="-11" - height="8" - width="10" - id="rect3380" - style="opacity:1;color:black;fill:url(#radialGradient3398);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> - <rect - y="40" - x="38" - height="8" - width="10" - id="rect3382" - style="opacity:1;color:black;fill:url(#radialGradient3400);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> - <rect - y="40" - x="11" - height="8" - width="27" - id="rect3384" - style="opacity:1;color:black;fill:url(#linearGradient3402);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> - </g> - <path - sodipodi:type="arc" - style="fill:url(#radialGradient3404);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.81530744;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path2234" - sodipodi:cx="11.756953" - sodipodi:cy="17.588654" - sodipodi:rx="6.3436799" - sodipodi:ry="3.9753728" - d="M 18.100633 17.588654 A 6.3436799 3.9753728 0 1 1 5.4132733,17.588654 A 6.3436799 3.9753728 0 1 1 18.100633 17.588654 z" - transform="matrix(-1.024642,0,0,0.754646,3.54664,-13.27321)" /> - <path - style="fill:#efefef;fill-opacity:1;fill-rule:evenodd;stroke:#787878;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M -9.90628,-17.49648 C -9.1222007,-17.49648 -8.5000301,-16.863718 -8.50003,-16.05898 L -8.50003,-7.93398 C -8.50003,-7.129242 -9.1222003,-6.49648 -9.90628,-6.49648 L -15.68753,-6.49648 L -18.46878,-4.05898 L -18.46878,-6.49648 L -20.09378,-6.49648 C -20.877859,-6.49648 -21.500031,-7.129242 -21.50003,-7.93398 L -21.50003,-16.05898 C -21.50003,-16.863718 -20.877859,-17.49648 -20.09378,-17.49648 L -9.90628,-17.49648 z " - id="path3387" - sodipodi:nodetypes="cccccccccccc" /> <path sodipodi:type="inkscape:offset" inkscape:radius="-1.0047876" @@ -998,47 +1122,89 @@ d="M 1.59375,1.5 C 1.5597829,1.5 1.5,1.5229727 1.5,1.65625 L 1.5,8.34375 C 1.4999998,8.4770255 1.5250763,8.46875 1.59375,8.46875 L 2.46875,8.46875 C 3.0199231,8.4714246 3.4660754,8.9175769 3.46875,9.46875 L 3.46875,9.5 L 4.65625,8.65625 C 4.8293233,8.532463 5.0372235,8.4668103 5.25,8.46875 L 9.40625,8.46875 C 9.4749239,8.46875 9.5,8.4770272 9.5,8.34375 L 9.5,1.65625 C 9.5,1.5229737 9.4402151,1.5 9.40625,1.5 L 1.59375,1.5 z " transform="matrix(-1,0,0,1,-3e-5,-19.99648)" /> <path - sodipodi:type="arc" - style="color:black;fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:2.86901665px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - id="path1339" - sodipodi:cx="15.590227" - sodipodi:cy="16.57217" - sodipodi:rx="14.345175" - sodipodi:ry="14.345175" - d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1 1.2450523,16.57217 A 14.345175 14.345175 0 1 1 29.935402 16.57217 z" - transform="matrix(0.348549,0,0,0.348549,5.066035,4.723779)" /> + style="fill:#efefef;fill-opacity:1;fill-rule:evenodd;stroke:#787878;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 33.877402,-6.5000005 C 34.782108,-6.5000005 35.499998,-5.7936619 35.499998,-4.8953494 L 35.499998,4.174417 C 35.499998,5.07273 34.78211,5.491987 33.877402,5.491987 L 27.20673,5.491987 L 23.519125,8.212917 L 23.519125,5.491987 L 22.122596,5.491987 C 21.217889,5.491987 20.499999,5.07273 20.5,4.174417 L 20.5,-4.8953494 C 20.5,-5.7936619 21.217889,-6.5000005 22.122596,-6.5000005 L 33.877402,-6.5000005 z " + id="path2198" + sodipodi:nodetypes="cccccccccccc" /> + <path + sodipodi:type="inkscape:offset" + inkscape:radius="-1.0047876" + inkscape:original="M 1.59375 0.5 C 0.990612 0.5 0.49999997 1.0124794 0.5 1.65625 L 0.5 8.34375 C 0.49999924 8.9875204 0.99061204 9.46875 1.59375 9.46875 L 2.46875 9.46875 L 2.46875 11.4375 L 5.25 9.46875 L 9.40625 9.46875 C 10.009388 9.46875 10.5 8.9875205 10.5 8.34375 L 10.5 1.65625 C 10.5 1.0124794 10.009387 0.50000001 9.40625 0.5 L 1.59375 0.5 z " + xlink:href="#path2221" + style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2200" + inkscape:href="#path2221" + d="M 1.59375,1.5 C 1.5597829,1.5 1.5,1.5229727 1.5,1.65625 L 1.5,8.34375 C 1.4999998,8.4770255 1.5250763,8.46875 1.59375,8.46875 L 2.46875,8.46875 C 3.0199231,8.4714246 3.4660754,8.9175769 3.46875,9.46875 L 3.46875,9.5 L 4.65625,8.65625 C 4.8293233,8.532463 5.0372235,8.4668103 5.25,8.46875 L 9.40625,8.46875 C 9.4749239,8.46875 9.5,8.4770272 9.5,8.34375 L 9.5,1.65625 C 9.5,1.5229737 9.4402151,1.5 9.40625,1.5 L 1.59375,1.5 z " + transform="translate(19,-8)" /> <path sodipodi:type="arc" - style="color:black;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:4.78170681px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - id="path1341" + style="color:black;fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#173867;stroke-width:2.86902547px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + id="path2069" sodipodi:cx="15.590227" sodipodi:cy="16.57217" sodipodi:rx="14.345175" sodipodi:ry="14.345175" d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1 1.2450523,16.57217 A 14.345175 14.345175 0 1 1 29.935402 16.57217 z" - transform="matrix(0.20913,0,0,0.20913,7.239621,7.034267)" /> + transform="matrix(0.348549,0,0,0.348549,5.066037,4.723781)" /> + <path + sodipodi:type="arc" + style="fill:#8ab0d7;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2788" + sodipodi:cx="-3.8088531" + sodipodi:cy="3.303823" + sodipodi:rx="3.1932809" + sodipodi:ry="3.3471739" + d="M -0.61557221 3.303823 A 3.1932809 3.3471739 0 1 1 -7.0021341,3.303823 A 3.1932809 3.3471739 0 1 1 -0.61557221 3.303823 z" + transform="matrix(1.409209,0,0,1.344418,15.86747,6.058282)" /> <path - style="opacity:0.5;color:black;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3409);stroke-width:0.99999952px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - d="M 14.5,10.500004 C 14.5,12.708004 12.708,14.500005 10.499999,14.500005 C 8.2920005,14.500005 6.4999997,12.708004 6.4999997,10.500004 C 6.4999997,8.2920009 8.2920005,6.4999998 10.499999,6.4999998 C 12.708,6.4999998 14.5,8.2920009 14.5,10.500004 z " - id="path2220" /> + sodipodi:type="arc" + style="fill:#dcdcd8;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2796" + sodipodi:cx="6.0403023" + sodipodi:cy="7.5551186" + sodipodi:rx="1.615877" + sodipodi:ry="1.3273276" + d="M 7.6561793 7.5551186 A 1.615877 1.3273276 0 1 1 4.4244252,7.5551186 A 1.615877 1.3273276 0 1 1 7.6561793 7.5551186 z" + transform="matrix(2.784865,0,0,3.390272,-6.321424,-15.11391)" /> <rect - style="fill:#2e3436;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none" - id="rect3421" + style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2832" width="1" - height="3" + height="1" x="10" - y="8" - rx="0.5" - ry="0.5" /> + y="-11" + transform="matrix(0,1,-1,0,0,0)" /> <rect - style="fill:#2e3436;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none" - id="rect3423" + style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2236" + width="1" + height="1" + x="9" + y="-12" + transform="matrix(0,1,-1,0,0,0)" /> + <rect + style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2240" width="1" - height="3" - x="10" + height="1" + x="11" + y="-12" + transform="matrix(0,1,-1,0,0,0)" /> + <rect + style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect3133" + width="1" + height="1" + x="8" y="-13" - transform="matrix(0,1,-1,0,0,0)" - rx="0.5" - ry="0.5" /> + transform="matrix(0,1,-1,0,0,0)" /> + <rect + style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect3135" + width="1" + height="1" + x="12" + y="-13" + transform="matrix(0,1,-1,0,0,0)" /> </g> </svg>
--- a/pidgin/pixmaps/tray/16/scalable/tray-online.svg Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/tray/16/scalable/tray-online.svg Thu Jun 21 20:37:57 2007 +0000 @@ -14,7 +14,7 @@ id="svg1872" sodipodi:version="0.32" inkscape:version="0.44.1" - sodipodi:docbase="/home/hbons/Desktop" + sodipodi:docbase="/home/hbons/Desktop/experiment/tray/16/scalable" sodipodi:docname="tray-online.svg"> <defs id="defs1874"> @@ -150,6 +150,573 @@ y1="48.000977" x2="21.875" y2="40" /> + <linearGradient + inkscape:collect="always" + id="linearGradient2898"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop2900" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop2902" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient4738" + gradientUnits="userSpaceOnUse" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient4740" + gradientUnits="userSpaceOnUse" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient3044" + gradientUnits="userSpaceOnUse" + x1="17.890068" + y1="8.0617304" + x2="17.890068" + y2="40.032413" /> + <linearGradient + id="linearGradient3046"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop3048" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop3050" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient3064" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient3066" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2898" + id="radialGradient2904" + cx="4.8470273" + cy="6.9473476" + fx="4.8470273" + fy="6.9473476" + r="0.8078171" + gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient2818" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + id="linearGradient2810" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient2963" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2951"> + <stop + id="stop2953" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop2955" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient2949" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient3005" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient3007" + gradientUnits="userSpaceOnUse" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient3025" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="10.018044" + x2="10.043059" + y1="1.3319674" + x1="1.5769236" + id="linearGradient2995" + xlink:href="#linearGradient2989" + inkscape:collect="always" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient2084" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2046" + gradientUnits="userSpaceOnUse" + x1="17.890068" + y1="8.0617304" + x2="17.890068" + y2="40.032413" /> + <linearGradient + id="linearGradient2048"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop2050" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop2052" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient2060" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient2062" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2064" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + id="linearGradient2812"> + <stop + style="stop-color:#2e3436;stop-opacity:1;" + offset="0" + id="stop2814" /> + <stop + style="stop-color:#2e3436;stop-opacity:0;" + offset="1" + id="stop2816" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2269" + gradientUnits="userSpaceOnUse" + x1="17.890068" + y1="8.0617304" + x2="17.890068" + y2="40.032413" /> + <linearGradient + id="linearGradient2055"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop2057" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop2059" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient2857" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientUnits="userSpaceOnUse" /> + <linearGradient + y2="14.895812" + x2="11.802028" + y1="1.9986149" + x1="11.802028" + gradientUnits="userSpaceOnUse" + id="linearGradient6606" + xlink:href="#linearGradient2225" + inkscape:collect="always" /> + <linearGradient + y2="48.674999" + x2="15.535398" + y1="1.8014067" + x1="15.535398" + gradientTransform="matrix(0.37378,0,0,0.375227,17.64779,15.86312)" + gradientUnits="userSpaceOnUse" + id="linearGradient2339" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <linearGradient + y2="17.697369" + x2="11.226587" + y1="-5.4832759" + x1="11.226587" + gradientTransform="matrix(0.529942,0,0,0.53199,17.26643,15.48536)" + gradientUnits="userSpaceOnUse" + id="linearGradient2337" + xlink:href="#linearGradient2186" + inkscape:collect="always" /> + <linearGradient + y2="33.483475" + x2="15.522223" + y1="1.5657365" + x1="15.602553" + gradientTransform="matrix(0.371983,0,0,0.372254,2.539836,8.539528)" + gradientUnits="userSpaceOnUse" + id="linearGradient1357" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + id="linearGradient2239"> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0" + id="stop2241" /> + <stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="1" + id="stop2243" /> + </linearGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.626667,0,6.566431)" + r="6.3436799" + fy="17.588654" + fx="11.756953" + cy="17.588654" + cx="11.756953" + id="radialGradient2266" + xlink:href="#linearGradient2260" + inkscape:collect="always" /> + <radialGradient + r="7.0034069" + fy="8.963316" + fx="9.9988937" + cy="8.963316" + cx="9.9988937" + gradientTransform="matrix(-2.522332,-1.518129e-16,-1.517788e-16,2.521765,40.1904,-21.80154)" + gradientUnits="userSpaceOnUse" + id="radialGradient2225" + xlink:href="#linearGradient2200" + inkscape:collect="always" /> + <radialGradient + r="7.0034069" + fy="8.963316" + fx="9.9988937" + cy="8.963316" + cx="9.9988937" + gradientTransform="matrix(-2.522332,-1.518129e-16,-1.517788e-16,2.521765,40.1904,-21.83521)" + gradientUnits="userSpaceOnUse" + id="radialGradient2216" + xlink:href="#linearGradient2200" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2200" + inkscape:collect="always"> + <stop + id="stop2202" + offset="0" + style="stop-color:#d3d7cf;stop-opacity:1;" /> + <stop + id="stop2204" + offset="1" + style="stop-color:#d3d7cf;stop-opacity:0;" /> + </linearGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient3822" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <linearGradient + id="linearGradient3816" + inkscape:collect="always"> + <stop + id="stop3818" + offset="0" + style="stop-color:#000000;stop-opacity:1;" /> + <stop + id="stop3820" + offset="1" + style="stop-color:#000000;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2260" + inkscape:collect="always"> + <stop + id="stop2262" + offset="0" + style="stop-color:#555753;stop-opacity:1;" /> + <stop + id="stop2264" + offset="1" + style="stop-color:#555753;stop-opacity:0;" /> + </linearGradient> + <linearGradient + gradientTransform="matrix(0.529942,0,0,0.53199,17.26643,15.48536)" + gradientUnits="userSpaceOnUse" + y2="17.697369" + x2="11.226587" + y1="-5.4832759" + x1="11.226587" + id="linearGradient2194" + xlink:href="#linearGradient2186" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2186" + inkscape:collect="always"> + <stop + id="stop2188" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop2190" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <linearGradient + gradientTransform="matrix(0.37378,0,0,0.375227,17.64779,15.86312)" + gradientUnits="userSpaceOnUse" + y2="48.674999" + x2="15.535398" + y1="1.8014067" + x1="15.535398" + id="linearGradient2245" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <radialGradient + r="5" + fy="44" + fx="1" + cy="44" + cx="1" + gradientTransform="matrix(2,0,0,0.8,-13,-79.2)" + gradientUnits="userSpaceOnUse" + id="radialGradient2827" + xlink:href="#linearGradient2781" + inkscape:collect="always" /> + <radialGradient + r="5" + fy="44" + fx="1" + cy="44" + cx="1" + gradientTransform="matrix(2,0,0,0.8,36,8.8)" + gradientUnits="userSpaceOnUse" + id="radialGradient2829" + xlink:href="#linearGradient2781" + inkscape:collect="always" /> + <linearGradient + y2="40" + x2="21.875" + y1="48.000977" + x1="21.875" + gradientUnits="userSpaceOnUse" + id="linearGradient2831" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2006"> + <stop + id="stop2008" + offset="0" + style="stop-color:black;stop-opacity:0;" /> + <stop + style="stop-color:black;stop-opacity:1;" + offset="0.5" + id="stop2010" /> + <stop + id="stop2012" + offset="1" + style="stop-color:black;stop-opacity:0;" /> + </linearGradient> + <linearGradient + y2="24.143761" + x2="27.273300" + y1="10.957423" + x1="35.003674" + gradientTransform="matrix(-0.977228,0,0,0.995878,50.60272,9.115637)" + gradientUnits="userSpaceOnUse" + id="linearGradient29443" + xlink:href="#linearGradient29418" + inkscape:collect="always" /> + <linearGradient + id="linearGradient29418"> + <stop + id="stop29420" + offset="0.0000000" + style="stop-color:#f5f5f5;stop-opacity:1.0000000;" /> + <stop + id="stop29422" + offset="1.0000000" + style="stop-color:#e9e9e9;stop-opacity:1.0000000;" /> + </linearGradient> + <linearGradient + id="linearGradient2225" + inkscape:collect="always"> + <stop + id="stop2227" + offset="0" + style="stop-color:#eeeeec;stop-opacity:1;" /> + <stop + id="stop2229" + offset="1" + style="stop-color:#eeeeec;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2989" + inkscape:collect="always"> + <stop + id="stop2991" + offset="0" + style="stop-color:#eeeeec;stop-opacity:1;" /> + <stop + id="stop2993" + offset="1" + style="stop-color:#eeeeec;stop-opacity:0;" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2112" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient2114" + gradientUnits="userSpaceOnUse" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2116" + gradientUnits="userSpaceOnUse" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2119" + gradientUnits="userSpaceOnUse" + x1="15.498499" + y1="9.4211226" + x2="24.240097" + y2="36.603138" + gradientTransform="matrix(0.287092,0,0,0.287092,5.363901,5.455069)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient2122" + gradientUnits="userSpaceOnUse" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientTransform="matrix(0.358865,0,0,0.358865,4.079883,4.193835)" /> </defs> <sodipodi:namedview id="base" @@ -159,14 +726,14 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.197802" - inkscape:cx="24.938614" - inkscape:cy="9.7569307" + inkscape:cx="15.613366" + inkscape:cy="10.112799" inkscape:current-layer="layer1" showgrid="true" inkscape:grid-bbox="true" inkscape:document-units="px" - inkscape:window-width="1440" - inkscape:window-height="853" + inkscape:window-width="1434" + inkscape:window-height="844" inkscape:window-x="0" inkscape:window-y="0" /> <metadata @@ -222,12 +789,12 @@ id="path5807" sodipodi:nodetypes="cccccccccccccc" /> <path - style="fill:url(#linearGradient1959);fill-opacity:1;fill-rule:evenodd;stroke:#387101;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 15.541385,10.5 C 15.541385,13.26 13.292114,15.5 10.520692,15.5 C 7.7492697,15.5 5.4999993,13.26 5.4999993,10.5 C 5.4999993,7.7399998 7.7492697,5.5000001 10.520692,5.5000001 C 13.292114,5.5000001 15.541385,7.7399998 15.541385,10.5 z " - id="path2245" /> + style="fill:url(#linearGradient2122);fill-opacity:1;fill-rule:evenodd;stroke:#306300;stroke-width:0.99999887;stroke-miterlimit:4;stroke-opacity:1" + d="M 15.500002,10.5 C 15.500002,13.26 13.260001,15.5 10.500001,15.5 C 7.7400006,15.5 5.4999996,13.26 5.4999996,10.5 C 5.4999996,7.739999 7.7400006,5.4999989 10.500001,5.4999989 C 13.260001,5.4999989 15.500002,7.739999 15.500002,10.5 z " + id="path4331" /> <path - style="opacity:0.6;fill:url(#linearGradient1956);fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1.00000024;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 14.500006,10.499996 C 14.500006,12.707996 12.708004,14.499996 10.500004,14.499996 C 8.2920042,14.499996 6.5000039,12.707996 6.5000039,10.499996 C 6.5000039,8.2919968 8.2920042,6.4999962 10.500004,6.4999962 C 12.708004,6.4999962 14.500006,8.2919968 14.500006,10.499996 z " - id="path3145" /> + style="opacity:0.6;fill:url(#linearGradient2119);fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:0.99999845;stroke-miterlimit:4;stroke-opacity:1" + d="M 14.500006,10.500002 C 14.500006,12.708002 12.708005,14.500003 10.500003,14.500003 C 8.2920011,14.500003 6.4999992,12.708002 6.4999992,10.500002 C 6.4999992,8.2920001 8.2920011,6.4999996 10.500003,6.4999996 C 12.708005,6.4999996 14.500006,8.2920001 14.500006,10.500002 z " + id="path4333" /> </g> </svg>
--- a/pidgin/pixmaps/tray/22/Makefile.am Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/tray/22/Makefile.am Thu Jun 21 20:37:57 2007 +0000 @@ -6,6 +6,7 @@ tray-extended-away.png \ tray-invisible.png \ tray-message.png \ + tray-new-im.png \ tray-offline.png \ tray-online.png
--- a/pidgin/pixmaps/tray/22/scalable/tray-invisible.svg Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/tray/22/scalable/tray-invisible.svg Thu Jun 21 20:37:57 2007 +0000 @@ -11,71 +11,62 @@ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="24" height="24" - id="svg4403" + id="svg2" sodipodi:version="0.32" inkscape:version="0.44.1" version="1.0" - sodipodi:docbase="/home/hbons/code/pidgin-mtn/pidgin/pixmaps/tray/22/scalable" + sodipodi:docbase="/home/hbons/Desktop" sodipodi:docname="tray-invisible.svg" - inkscape:export-filename="/home/hbons/code/pidgin-mtn/pidgin/pixmaps/tray/22/tray-invisible.png" + inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/notification-area/tray-busy.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90"> <defs - id="defs4405"> + id="defs4"> <linearGradient - id="linearGradient5187" - inkscape:collect="always"> + inkscape:collect="always" + id="linearGradient2989"> <stop - id="stop5189" + style="stop-color:#eeeeec;stop-opacity:1;" offset="0" - style="stop-color:#d3d7cf;stop-opacity:1;" /> + id="stop2991" /> <stop - id="stop5191" + style="stop-color:#eeeeec;stop-opacity:0;" offset="1" - style="stop-color:#d3d7cf;stop-opacity:0;" /> - </linearGradient> - <linearGradient - id="linearGradient2851"> - <stop - style="stop-color:#73d216;stop-opacity:1;" - offset="0" - id="stop2853" /> - <stop - style="stop-color:#5ca911;stop-opacity:1;" - offset="1" - id="stop2855" /> + id="stop2993" /> </linearGradient> <linearGradient inkscape:collect="always" - xlink:href="#linearGradient2804" - id="linearGradient2261" - gradientUnits="userSpaceOnUse" - x1="21.875" - y1="48.000977" - x2="21.875" - y2="40" /> - <radialGradient + id="linearGradient2225"> + <stop + style="stop-color:#eeeeec;stop-opacity:1;" + offset="0" + id="stop2227" /> + <stop + style="stop-color:#eeeeec;stop-opacity:0;" + offset="1" + id="stop2229" /> + </linearGradient> + <linearGradient + id="linearGradient29418"> + <stop + style="stop-color:#f5f5f5;stop-opacity:1.0000000;" + offset="0.0000000" + id="stop29420" /> + <stop + style="stop-color:#e9e9e9;stop-opacity:1.0000000;" + offset="1.0000000" + id="stop29422" /> + </linearGradient> + <linearGradient inkscape:collect="always" - xlink:href="#linearGradient2781" - id="radialGradient2259" + xlink:href="#linearGradient29418" + id="linearGradient29443" gradientUnits="userSpaceOnUse" - gradientTransform="matrix(2,0,0,0.8,36,8.8)" - cx="1" - cy="44" - fx="1" - fy="44" - r="5" /> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient2781" - id="radialGradient2257" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(2,0,0,0.8,-13,-79.2)" - cx="1" - cy="44" - fx="1" - fy="44" - r="5" /> + gradientTransform="matrix(-0.977228,0,0,0.995878,50.60272,9.115637)" + x1="35.003674" + y1="10.957423" + x2="27.273300" + y2="24.143761" /> <linearGradient id="linearGradient2804"> <stop @@ -94,7 +85,7 @@ <linearGradient inkscape:collect="always" xlink:href="#linearGradient2804" - id="linearGradient7755" + id="linearGradient2831" gradientUnits="userSpaceOnUse" x1="21.875" y1="48.000977" @@ -103,7 +94,7 @@ <radialGradient inkscape:collect="always" xlink:href="#linearGradient2781" - id="radialGradient7753" + id="radialGradient2829" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2,0,0,0.8,36,8.8)" cx="1" @@ -126,7 +117,7 @@ <radialGradient inkscape:collect="always" xlink:href="#linearGradient2781" - id="radialGradient7751" + id="radialGradient2827" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2,0,0,0.8,-13,-79.2)" cx="1" @@ -136,14 +127,723 @@ r="5" /> <linearGradient inkscape:collect="always" - xlink:href="#linearGradient5187" - id="linearGradient2220" + id="linearGradient2186"> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0" + id="stop2188" /> + <stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="1" + id="stop2190" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2260"> + <stop + style="stop-color:#555753;stop-opacity:1;" + offset="0" + id="stop2262" /> + <stop + style="stop-color:#555753;stop-opacity:0;" + offset="1" + id="stop2264" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3816"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop3818" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop3820" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient3822" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + id="linearGradient2200"> + <stop + style="stop-color:#d3d7cf;stop-opacity:1;" + offset="0" + id="stop2202" /> + <stop + style="stop-color:#d3d7cf;stop-opacity:0;" + offset="1" + id="stop2204" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2200" + id="radialGradient2216" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-2.522332,-1.518129e-16,-1.517788e-16,2.521765,40.1904,-21.83521)" + cx="9.9988937" + cy="8.963316" + fx="9.9988937" + fy="8.963316" + r="7.0034069" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2200" + id="radialGradient2225" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-2.522332,-1.518129e-16,-1.517788e-16,2.521765,40.1904,-21.80154)" + cx="9.9988937" + cy="8.963316" + fx="9.9988937" + fy="8.963316" + r="7.0034069" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2260" + id="radialGradient2266" + cx="11.756953" + cy="17.588654" + fx="11.756953" + fy="17.588654" + r="6.3436799" + gradientTransform="matrix(1,0,0,0.626667,0,6.566431)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + id="linearGradient2239" + inkscape:collect="always"> + <stop + id="stop2241" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop2243" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2239" + id="linearGradient1357" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.371983,0,0,0.372254,2.539836,8.539528)" + x1="15.602553" + y1="1.5657365" + x2="15.522223" + y2="33.483475" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2186" + id="linearGradient2337" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.529942,0,0,0.53199,17.26643,15.48536)" + x1="11.226587" + y1="-5.4832759" + x2="11.226587" + y2="17.697369" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2239" + id="linearGradient2339" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.37378,0,0,0.375227,17.64779,15.86312)" + x1="15.535398" + y1="1.8014067" + x2="15.535398" + y2="48.674999" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2225" + id="linearGradient6606" + gradientUnits="userSpaceOnUse" + x1="11.802028" + y1="1.9986149" + x2="11.802028" + y2="14.895812" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient2857" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <linearGradient + id="linearGradient3149" + inkscape:collect="always"> + <stop + id="stop3151" + offset="0" + style="stop-color:#eeeeec;stop-opacity:1;" /> + <stop + id="stop3153" + offset="1" + style="stop-color:#eeeeec;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2851"> + <stop + id="stop2853" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop2855" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient2269" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2812" + inkscape:collect="always"> + <stop + id="stop2814" + offset="0" + style="stop-color:#2e3436;stop-opacity:1;" /> + <stop + id="stop2816" + offset="1" + style="stop-color:#2e3436;stop-opacity:0;" /> + </linearGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient2064" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + id="linearGradient2062" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient2060" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2048"> + <stop + id="stop2050" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop2052" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient2046" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2084" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2989" + id="linearGradient2995" + x1="1.5769236" + y1="1.3319674" + x2="10.043059" + y2="10.018044" + gradientUnits="userSpaceOnUse" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient3025" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + gradientUnits="userSpaceOnUse" + id="linearGradient3007" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient3005" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient2949" + gradientUnits="userSpaceOnUse" + x1="17.890068" + y1="8.0617304" + x2="17.890068" + y2="40.032413" /> + <linearGradient + id="linearGradient2951"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop2953" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop2955" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient2963" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient2810" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient2818" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)" + r="0.8078171" + fy="6.9473476" + fx="4.8470273" + cy="6.9473476" + cx="4.8470273" + id="radialGradient2904" + xlink:href="#linearGradient2898" + inkscape:collect="always" /> + <linearGradient gradientUnits="userSpaceOnUse" - gradientTransform="matrix(0.394752,0,0,0.394752,8.437859,8.563225)" - x1="19.461548" - y1="6.4422231" - x2="19.461548" - y2="28.669207" /> + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient3066" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <radialGradient + gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)" + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient3064" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <linearGradient + id="linearGradient3046"> + <stop + id="stop3048" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop3050" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient3044" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + y2="36.603138" + x2="24.240097" + y1="9.4211226" + x1="15.498499" + gradientUnits="userSpaceOnUse" + id="linearGradient4740" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2898" + inkscape:collect="always"> + <stop + id="stop2900" + offset="0" + style="stop-color:white;stop-opacity:1;" /> + <stop + id="stop2902" + offset="1" + style="stop-color:white;stop-opacity:0;" /> + </linearGradient> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient2055" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <radialGradient + gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)" + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient2053" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2034"> + <stop + id="stop2036" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop2038" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient2032" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(0.482882,0,0,0.482874,0.269812,0.26982)" + gradientUnits="userSpaceOnUse" + y2="39.834526" + x2="31.18539" + y1="4.5934086" + x1="8.7505674" + id="linearGradient2030" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(0.684526,0,0,0.687171,-0.20455,-0.253325)" + gradientUnits="userSpaceOnUse" + y2="17.697369" + x2="11.226587" + y1="-1.5641226" + x1="9.2594385" + id="linearGradient2022" + xlink:href="#linearGradient2186" + inkscape:collect="always" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient2014" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)" + r="0.8078171" + fy="6.9473476" + fx="4.8470273" + cy="6.9473476" + cx="4.8470273" + id="radialGradient2006" + xlink:href="#linearGradient2898" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient3069" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <radialGradient + gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)" + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient3067" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <linearGradient + id="linearGradient3049"> + <stop + id="stop3051" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop3053" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient3047" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(0.482882,0,0,0.482874,0.269812,0.26982)" + gradientUnits="userSpaceOnUse" + y2="39.834526" + x2="31.18539" + y1="4.5934086" + x1="8.7505674" + id="linearGradient3045" + xlink:href="#linearGradient2239" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(0.684526,0,0,0.687171,-0.20455,-0.253325)" + gradientUnits="userSpaceOnUse" + y2="19.159578" + x2="14.441897" + y1="3.7276814" + x1="6.2538223" + id="linearGradient2194" + xlink:href="#linearGradient2186" + inkscape:collect="always" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient3030" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)" + r="0.8078171" + fy="6.9473476" + fx="4.8470273" + cy="6.9473476" + cx="4.8470273" + id="radialGradient3022" + xlink:href="#linearGradient2898" + inkscape:collect="always" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient3082" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2239" + id="linearGradient3084" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.37378,0,0,0.375227,5.518529,18.82427)" + x1="15.535398" + y1="1.8014067" + x2="15.535398" + y2="48.674999" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient3198" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + y2="11.024895" + x2="10.623409" + y1="2.7991772" + x1="4.5264969" + gradientUnits="userSpaceOnUse" + id="linearGradient3196" + xlink:href="#linearGradient2804" + inkscape:collect="always" /> + <radialGradient + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + gradientUnits="userSpaceOnUse" + id="radialGradient3194" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3149" + id="linearGradient3180" + gradientUnits="userSpaceOnUse" + x1="17.890068" + y1="8.0617304" + x2="17.890068" + y2="40.032413" /> + <linearGradient + id="linearGradient3174"> + <stop + style="stop-color:#73d216;stop-opacity:1;" + offset="0" + id="stop3176" /> + <stop + style="stop-color:#5ca911;stop-opacity:1;" + offset="1" + id="stop3178" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2851" + id="linearGradient3172" + x1="6.878005" + y1="11.789385" + x2="12.233074" + y2="27.77807" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2804" + id="linearGradient3170" + x1="4.5264969" + y1="2.7991772" + x2="10.623409" + y2="11.024895" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2812" + id="radialGradient3168" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="27.77807" + x2="12.233074" + y1="11.789385" + x1="6.878005" + id="linearGradient3166" + xlink:href="#linearGradient2851" + inkscape:collect="always" /> + <radialGradient + gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)" + gradientUnits="userSpaceOnUse" + r="8.6620579" + fy="19.008621" + fx="31.112698" + cy="19.008621" + cx="31.112698" + id="radialGradient3164" + xlink:href="#linearGradient3816" + inkscape:collect="always" /> + <linearGradient + id="linearGradient3146"> + <stop + id="stop3148" + offset="0" + style="stop-color:#73d216;stop-opacity:1;" /> + <stop + id="stop3150" + offset="1" + style="stop-color:#5ca911;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="40.032413" + x2="17.890068" + y1="8.0617304" + x1="17.890068" + gradientUnits="userSpaceOnUse" + id="linearGradient3144" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> + <linearGradient + y2="36.603138" + x2="24.240097" + y1="9.4211226" + x1="15.498499" + gradientUnits="userSpaceOnUse" + id="linearGradient3142" + xlink:href="#linearGradient3149" + inkscape:collect="always" /> </defs> <sodipodi:namedview id="base" @@ -152,21 +852,19 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="25.498579" - inkscape:cx="19.883015" - inkscape:cy="11.999162" + inkscape:zoom="20.899939" + inkscape:cx="26.526463" + inkscape:cy="11.289944" + inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" - inkscape:grid-bbox="true" - inkscape:document-units="px" - width="24px" - height="24px" - inkscape:window-width="1274" - inkscape:window-height="844" - inkscape:window-x="6" + fill="#d3d7cf" + inkscape:window-width="1440" + inkscape:window-height="849" + inkscape:window-x="0" inkscape:window-y="0" /> <metadata - id="metadata4408"> + id="metadata7"> <rdf:RDF> <cc:Work rdf:about=""> @@ -177,53 +875,55 @@ </rdf:RDF> </metadata> <g - id="layer1" inkscape:label="Layer 1" - inkscape:groupmode="layer"> + inkscape:groupmode="layer" + id="layer1"> + <path + style="opacity:1;fill:#efefef;fill-opacity:1;fill-rule:evenodd;stroke:#787878;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 14.877402,1.4999995 C 15.782108,1.4999995 16.499998,2.2063381 16.499998,3.1046506 L 16.499998,12.174417 C 16.499998,13.07273 15.78211,13.491987 14.877402,13.491987 L 8.2067299,13.491987 L 4.5191254,16.212917 L 4.5191254,13.491987 L 3.1225959,13.491987 C 2.2178895,13.491987 1.4999988,13.07273 1.5,12.174417 L 1.5,3.1046506 C 1.5,2.2063381 2.2178895,1.4999995 3.1225959,1.4999995 L 14.877402,1.4999995 z " + id="path2221" + sodipodi:nodetypes="cccccccccccc" /> + <path + sodipodi:type="inkscape:offset" + inkscape:radius="-1.0047876" + inkscape:original="M 3.125 1.5 C 2.2202936 1.5 1.5 2.1954376 1.5 3.09375 L 1.5 12.1875 C 1.4999988 13.085813 2.2202937 13.5 3.125 13.5 L 4.53125 13.5 L 4.53125 16.21875 L 8.21875 13.5 L 14.875 13.5 C 15.779708 13.5 16.5 13.085813 16.5 12.1875 L 16.5 3.09375 C 16.5 2.1954375 15.779706 1.5 14.875 1.5 L 3.125 1.5 z " + xlink:href="#path2221" + style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path5807" + inkscape:href="#path2221" + d="M 2.90625,2.5 C 2.6627552,2.5 2.5,2.6506524 2.5,2.9375 L 2.5,11.0625 C 2.4999996,11.349346 2.6627555,11.5 2.90625,11.5 L 4.53125,11.5 C 5.0824231,11.502675 5.5285754,11.948827 5.53125,12.5 L 5.53125,12.75 L 6.65625,11.75 C 6.8378154,11.590455 7.0708028,11.501698 7.3125,11.5 L 13.09375,11.5 C 13.337246,11.5 13.5,11.349348 13.5,11.0625 L 13.5,2.9375 C 13.5,2.6506524 13.337245,2.5 13.09375,2.5 L 2.90625,2.5 z " /> + <g + id="g2057" + inkscape:label="Layer 1" + transform="translate(19.12926,4.037634)" /> <g - id="g2249" - style="opacity:0.3" - transform="matrix(-0.340425,0,0,0.625,17.34043,-14)"> - <rect - transform="scale(-1,-1)" - y="-48" - x="-11" - height="8" - width="10" - id="rect2251" - style="opacity:1;color:black;fill:url(#radialGradient2257);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> - <rect - y="40" - x="38" - height="8" - width="10" - id="rect2253" - style="opacity:1;color:black;fill:url(#radialGradient2259);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> - <rect - y="40" - x="11" - height="8" - width="27" - id="rect2255" - style="opacity:1;color:black;fill:url(#linearGradient2261);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> + id="g3200" + inkscape:label="Layer 1" + transform="translate(6.999999,7.000001)"> + <g + style="opacity:0.8" + id="g1918"> + <path + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.45064,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" + sodipodi:ry="8.6620579" + sodipodi:rx="8.6620579" + sodipodi:cy="19.008621" + sodipodi:cx="31.112698" + id="path3203" + style="color:black;fill:url(#radialGradient3025);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + sodipodi:type="arc" + transform="matrix(0.923568,0,0,0.173169,-20.73469,11.2083)" /> + <path + transform="matrix(0.538297,0,0,0.538297,-1.630177,-1.459246)" + style="fill:#babdb6;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.85770929;stroke-miterlimit:4;stroke-opacity:1" + d="M 31.822886,17.572527 C 31.822886,25.263442 25.580983,31.505344 17.890068,31.505344 C 10.199153,31.505344 3.9572506,25.263442 3.9572506,17.572527 C 3.9572506,9.8816117 10.199153,3.6397095 17.890068,3.6397095 C 25.580983,3.6397095 31.822886,9.8816117 31.822886,17.572527 z " + id="path4331" /> + <path + transform="matrix(0.466524,0,0,0.466525,-0.346154,-0.198015)" + style="opacity:0.6;fill:url(#linearGradient4740);fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:2.14350748;stroke-miterlimit:4;stroke-opacity:1" + d="M 31.822886,17.572527 C 31.822886,25.263442 25.580983,31.505344 17.890068,31.505344 C 10.199153,31.505344 3.9572506,25.263442 3.9572506,17.572527 C 3.9572506,9.8816117 10.199153,3.6397095 17.890068,3.6397095 C 25.580983,3.6397095 31.822886,9.8816117 31.822886,17.572527 z " + id="path4333" /> + </g> </g> - <path - style="fill:#efefef;fill-opacity:1;fill-rule:evenodd;stroke:#787878;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M 9.90625,2.5 C 9.1221707,2.5 8.5000001,3.1327617 8.5,3.9375 L 8.5,12.0625 C 8.5,12.867238 9.1221703,13.5 9.90625,13.5 L 15.6875,13.5 L 18.46875,15.9375 L 18.46875,13.5 L 20.09375,13.5 C 20.877829,13.5 21.500001,12.867238 21.5,12.0625 L 21.5,3.9375 C 21.5,3.1327617 20.877829,2.5 20.09375,2.5 L 9.90625,2.5 z " - id="path2221" - transform="matrix(-1,0,0,1,24,0)" /> - <path - style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M 9.90625,3.5 C 9.6627547,3.5 9.5,3.650652 9.5,3.9375 L 9.5,12.0625 C 9.5,12.349348 9.6627543,12.5 9.90625,12.5 L 15.6875,12.5 C 15.929197,12.501698 16.162185,12.590455 16.34375,12.75 L 17.46875,13.75 L 17.46875,13.5 C 17.471425,12.948827 17.917577,12.502675 18.46875,12.5 L 20.09375,12.5 C 20.337245,12.5 20.5,12.349346 20.5,12.0625 L 20.5,3.9375 C 20.5,3.6506524 20.337245,3.5 20.09375,3.5 L 9.90625,3.5 z " - id="path5807" - transform="matrix(-1,0,0,1,24,0)" /> - <path - style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#babdb6;stroke-width:0.99999863;stroke-miterlimit:4;stroke-opacity:1" - d="M 21.500007,15.500001 C 21.500007,18.812 18.81201,21.499999 15.500004,21.499999 C 12.188,21.499999 9.5000032,18.812 9.5000032,15.500001 C 9.5000032,12.188001 12.188,9.5000014 15.500004,9.5000014 C 18.81201,9.5000014 21.500007,12.188001 21.500007,15.500001 z " - id="path4331" /> - <path - style="opacity:0.6;fill:url(#linearGradient2220);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.14350748;stroke-miterlimit:4;stroke-opacity:1" - d="M 21,15.500001 C 21,18.536 18.535999,21 15.499999,21 C 12.464,21 10,18.536 10,15.500001 C 10,12.464 12.464,10 15.499999,10 C 18.535999,10 21,12.464 21,15.500001 z " - id="path4333" /> </g> </svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/tray/32/Makefile.am Thu Jun 21 20:37:57 2007 +0000 @@ -0,0 +1,13 @@ +TRAY_ICONS = tray-away.png \ + tray-busy.png \ + tray-connecting.png \ + tray-extended-away.png \ + tray-invisible.png \ + tray-new-im.png \ + tray-offline.png \ + tray-online.png + +EXTRA_DIST = $(TRAY_ICONS) + +pidgintraypixdir = $(datadir)/pixmaps/pidgin/tray/32 +pidgintraypix_DATA = $(TRAY_ICONS)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/tray/32/Makefile.mingw Thu Jun 21 20:37:57 2007 +0000 @@ -0,0 +1,20 @@ +# +# Makefile.mingw +# +# Description: Makefile for win32 (mingw) version of Pidgin pixmaps +# + +PIDGIN_TREE_TOP := ../../../.. +include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak + +datadir = $(PIDGIN_INSTALL_DIR) +include ./Makefile.am + +.PHONY: install + +install: + if test '$(pidgintraypix_DATA)'; then \ + mkdir -p $(pidgintraypixdir); \ + cp $(pidgintraypix_DATA) $(pidgintraypixdir); \ + fi; +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/tray/48/Makefile.am Thu Jun 21 20:37:57 2007 +0000 @@ -0,0 +1,13 @@ +TRAY_ICONS = tray-away.png \ + tray-busy.png \ + tray-connecting.png \ + tray-extended-away.png \ + tray-invisible.png \ + tray-new-im.png \ + tray-offline.png \ + tray-online.png + +EXTRA_DIST = $(TRAY_ICONS) + +pidgintraypixdir = $(datadir)/pixmaps/pidgin/tray/48 +pidgintraypix_DATA = $(TRAY_ICONS)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/tray/48/Makefile.mingw Thu Jun 21 20:37:57 2007 +0000 @@ -0,0 +1,20 @@ +# +# Makefile.mingw +# +# Description: Makefile for win32 (mingw) version of Pidgin pixmaps +# + +PIDGIN_TREE_TOP := ../../../.. +include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak + +datadir = $(PIDGIN_INSTALL_DIR) +include ./Makefile.am + +.PHONY: install + +install: + if test '$(pidgintraypix_DATA)'; then \ + mkdir -p $(pidgintraypixdir); \ + cp $(pidgintraypix_DATA) $(pidgintraypixdir); \ + fi; +
--- a/pidgin/pixmaps/tray/Makefile.am Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/pixmaps/tray/Makefile.am Thu Jun 21 20:37:57 2007 +0000 @@ -1,7 +1,9 @@ -SUBDIRS = 16 22 +SUBDIRS = 16 22 32 48 EXTRA_DIST = \ Makefile.mingw \ 16/Makefile.mingw \ - 22/Makefile.mingw + 22/Makefile.mingw \ + 32/Makefile.mingw \ + 48/Makefile.mingw
--- a/pidgin/plugins/Makefile.am Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/plugins/Makefile.am Thu Jun 21 20:37:57 2007 +0000 @@ -30,6 +30,7 @@ contact_priority_la_LDFLAGS = -module -avoid-version extplacement_la_LDFLAGS = -module -avoid-version gtk_signals_test_la_LDFLAGS = -module -avoid-version +gtkbuddynote_la_LDFLAGS = -module -avoid-version history_la_LDFLAGS = -module -avoid-version iconaway_la_LDFLAGS = -module -avoid-version markerline_la_LDFLAGS = -module -avoid-version @@ -46,6 +47,7 @@ plugin_LTLIBRARIES = \ convcolors.la \ extplacement.la \ + gtkbuddynote.la \ history.la \ iconaway.la \ markerline.la \ @@ -65,6 +67,7 @@ contact_priority_la_SOURCES = contact_priority.c extplacement_la_SOURCES = extplacement.c gtk_signals_test_la_SOURCES = gtk-signals-test.c +gtkbuddynote_la_SOURCES = gtkbuddynote.c history_la_SOURCES = history.c iconaway_la_SOURCES = iconaway.c markerline_la_SOURCES = markerline.c @@ -80,6 +83,7 @@ contact_priority_la_LIBADD = $(GTK_LIBS) extplacement_la_LIBADD = $(GTK_LIBS) gtk_signals_test_la_LIBADD = $(GTK_LIBS) +gtkbuddynote_la_LIBADD = $(GTK_LIBS) history_la_LIBADD = $(GTK_LIBS) iconaway_la_LIBADD = $(GTK_LIBS) markerline_la_LIBADD = $(GTK_LIBS)
--- a/pidgin/plugins/Makefile.mingw Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/plugins/Makefile.mingw Thu Jun 21 20:37:57 2007 +0000 @@ -77,11 +77,12 @@ plugins: \ convcolors.dll \ extplacement.dll \ - pidginrc.dll \ + gtkbuddynote.dll \ history.dll \ iconaway.dll \ markerline.dll \ notify.dll \ + pidginrc.dll \ relnot.dll \ spellchk.dll \ timestamp_format.dll \
--- a/pidgin/plugins/gestures/gestures.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/plugins/gestures/gestures.c Thu Jun 21 20:37:57 2007 +0000 @@ -176,7 +176,7 @@ plugin_load(PurplePlugin *plugin) { PurpleConversation *conv; - const GList *l; + GList *l; for (l = purple_get_conversations(); l != NULL; l = l->next) { conv = (PurpleConversation *)l->data; @@ -199,7 +199,7 @@ { PurpleConversation *conv; PidginConversation *gtkconv; - const GList *l; + GList *l; for (l = purple_get_conversations(); l != NULL; l = l->next) { conv = (PurpleConversation *)l->data;
--- a/pidgin/plugins/gevolution/add_buddy_dialog.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/plugins/gevolution/add_buddy_dialog.c Thu Jun 21 20:37:57 2007 +0000 @@ -162,7 +162,7 @@ GList *list, const char *id) { PurpleAccount *account = NULL; - const GList *l; + GList *l; GtkTreeIter iter; GdkPixbuf *pixbuf;
--- a/pidgin/plugins/gevolution/gevolution.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/plugins/gevolution/gevolution.c Thu Jun 21 20:37:57 2007 +0000 @@ -69,8 +69,7 @@ const char *prpl_id, EContactField field) { GList *ims = e_contact_get(contact, field); - const GList *l; - const GList *l2; + GList *l, *l2; if (ims == NULL) return; @@ -119,9 +118,9 @@ } static void -contacts_changed_cb(EBookView *book_view, const GList *contacts) +contacts_changed_cb(EBookView *book_view, GList *contacts) { - const GList *l; + GList *l; if (purple_connections_get_all() == NULL) return; @@ -401,7 +400,7 @@ GtkCellRenderer *renderer; GdkPixbuf *pixbuf; GtkListStore *model; - const GList *l; + GList *l; /* Outside container */ ret = gtk_vbox_new(FALSE, 18);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/plugins/gtkbuddynote.c Thu Jun 21 20:37:57 2007 +0000 @@ -0,0 +1,126 @@ +/* + * GtkBuddyNote - Store notes on particular buddies + * Copyright (C) 2007 Etan Reisner <deryni@pidgin.im> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ +#include "internal.h" + +#include <gtkblist.h> +#include <gtkplugin.h> + +#include <debug.h> +#include <version.h> + +static void +append_to_tooltip(PurpleBlistNode *node, GString *text, gboolean full) +{ + if (full) { + const gchar *note = purple_blist_node_get_string(node, "notes"); + + if (note != NULL) { + g_string_append_printf(text, _("\nBuddy Note: %s"), + note); + } + } +} + +static gboolean +plugin_load(PurplePlugin *plugin) +{ + purple_signal_connect(pidgin_blist_get_handle(), "drawing-tooltip", + plugin, PURPLE_CALLBACK(append_to_tooltip), NULL); + return TRUE; +} + +static gboolean +plugin_unload(PurplePlugin *plugin) +{ + PurplePlugin *buddynote = NULL; + + buddynote = purple_plugins_find_with_id("core-plugin_pack-buddynote"); + + purple_plugin_unload(buddynote); + + return TRUE; +} + +static PurplePluginInfo info = +{ + PURPLE_PLUGIN_MAGIC, + PURPLE_MAJOR_VERSION, /**< major version */ + PURPLE_MINOR_VERSION, /**< minor version */ + PURPLE_PLUGIN_STANDARD, /**< type */ + PIDGIN_PLUGIN_TYPE, /**< ui_requirement */ + 0, /**< flags */ + NULL, /**< dependencies */ + PURPLE_PRIORITY_DEFAULT, /**< priority */ + "gtkbuddynote", /**< id */ + N_("Buddy Notes"), /**< name */ + VERSION, /**< version */ + N_("Store notes on particular buddies."), /**< summary */ + N_("Adds the option to store notes for buddies " + "on your buddy list."), /**< description */ + "Etan Reisner <deryni@pidgin.im>", /**< author */ + PURPLE_WEBSITE, /**< homepage */ + plugin_load, /**< load */ + plugin_unload, /**< unload */ + NULL, /**< destroy */ + NULL, /**< ui_info */ + NULL, /**< extra_info */ + NULL, /**< prefs_info */ + NULL, /**< actions */ + + /* padding */ + NULL, + NULL, + NULL, + NULL +}; + +static gboolean +check_for_buddynote(gpointer data) +{ + PurplePlugin *buddynote = NULL; + + buddynote = purple_plugins_find_with_id("core-plugin_pack-buddynote"); + + if (buddynote == NULL) { + buddynote = purple_plugins_find_with_basename("buddynote"); + } + + if (buddynote != NULL) { + PurplePluginInfo *bninfo = buddynote->info; + + bninfo->flags = PURPLE_PLUGIN_FLAG_INVISIBLE; + + info.dependencies = g_list_append(info.dependencies, + "core-plugin_pack-buddynote"); + } else { + info.flags = PURPLE_PLUGIN_FLAG_INVISIBLE; + } + + return FALSE; +} + +static void +init_plugin(PurplePlugin *plugin) +{ + /* Use g_idle_add so that the rest of the plugins can get loaded + * before we do our check. */ + g_idle_add(check_for_buddynote, plugin); +} + +PURPLE_INIT_PLUGIN(gtkbuddynote, init_plugin, info)
--- a/pidgin/plugins/notify.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/plugins/notify.c Thu Jun 21 20:37:57 2007 +0000 @@ -624,7 +624,7 @@ static void apply_method() { - const GList *convs; + GList *convs; PidginWindow *purplewin = NULL; for (convs = purple_get_conversations(); convs != NULL; @@ -644,7 +644,7 @@ static void apply_notify() { - const GList *convs = purple_get_conversations(); + GList *convs = purple_get_conversations(); while (convs) { PurpleConversation *conv = (PurpleConversation *)convs->data; @@ -818,7 +818,7 @@ static gboolean plugin_load(PurplePlugin *plugin) { - const GList *convs = purple_get_conversations(); + GList *convs = purple_get_conversations(); void *conv_handle = purple_conversations_get_handle(); void *gtk_conv_handle = pidgin_conversations_get_handle(); @@ -860,7 +860,7 @@ static gboolean plugin_unload(PurplePlugin *plugin) { - const GList *convs = purple_get_conversations(); + GList *convs = purple_get_conversations(); while (convs) { PurpleConversation *conv = (PurpleConversation *)convs->data;
--- a/pidgin/plugins/pidginrc.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/plugins/pidginrc.c Thu Jun 21 20:37:57 2007 +0000 @@ -27,49 +27,49 @@ static guint pref_callback; -static const char *color_prefs[] = { +static const gchar *color_prefs[] = { "/plugins/gtk/purplerc/color/GtkWidget::cursor-color", "/plugins/gtk/purplerc/color/GtkWidget::secondary-cursor-color", "/plugins/gtk/purplerc/color/GtkIMHtml::hyperlink-color" }; -static const char *color_prefs_set[] = { +static const gchar *color_prefs_set[] = { "/plugins/gtk/purplerc/set/color/GtkWidget::cursor-color", "/plugins/gtk/purplerc/set/color/GtkWidget::secondary-cursor-color", "/plugins/gtk/purplerc/set/color/GtkIMHtml::hyperlink-color" }; -static const char *color_names[] = { +static const gchar *color_names[] = { N_("Cursor Color"), N_("Secondary Cursor Color"), N_("Hyperlink Color") }; static GtkWidget *color_widgets[G_N_ELEMENTS(color_prefs)]; -static const char *widget_size_prefs[] = { +static const gchar *widget_size_prefs[] = { "/plugins/gtk/purplerc/size/GtkTreeView::horizontal_separator" }; -static const char *widget_size_prefs_set[] = { +static const gchar *widget_size_prefs_set[] = { "/plugins/gtk/purplerc/set/size/GtkTreeView::horizontal_separator" }; -static const char *widget_size_names[] = { +static const gchar *widget_size_names[] = { N_("GtkTreeView Horizontal Separation") }; static GtkWidget *widget_size_widgets[G_N_ELEMENTS(widget_size_prefs)]; -static const char *font_prefs[] = { +static const gchar *font_prefs[] = { "/plugins/gtk/purplerc/font/*pidgin_conv_entry", "/plugins/gtk/purplerc/font/*pidgin_conv_imhtml", "/plugins/gtk/purplerc/font/*pidgin_log_imhtml", "/plugins/gtk/purplerc/font/*pidgin_request_imhtml", "/plugins/gtk/purplerc/font/*pidgin_notify_imhtml", }; -static const char *font_prefs_set[] = { +static const gchar *font_prefs_set[] = { "/plugins/gtk/purplerc/set/font/*pidgin_conv_entry", "/plugins/gtk/purplerc/set/font/*pidgin_conv_imhtml", "/plugins/gtk/purplerc/set/font/*pidgin_log_imhtml", "/plugins/gtk/purplerc/set/font/*pidgin_request_imhtml", "/plugins/gtk/purplerc/set/font/*pidgin_notify_imhtml", }; -static const char *font_names[] = { +static const gchar *font_names[] = { N_("Conversation Entry"), N_("Conversation History"), N_("Log Viewer"), @@ -79,53 +79,56 @@ static GtkWidget *font_widgets[G_N_ELEMENTS(font_prefs)]; /* -static const char *widget_bool_prefs[] = { +static const gchar *widget_bool_prefs[] = { }; -static const char *widget_bool_prefs_set[] = { +static const gchar *widget_bool_prefs_set[] = { }; -static const char *widget_bool_names[] = { +static const gchar *widget_bool_names[] = { }; static GtkWidget *widget_bool_widgets[G_N_ELEMENTS(widget_bool_prefs)]; */ -static void -purplerc_make_changes() +static GString * +make_gtkrc_string() { - int i; - char *prefbase = NULL; -#if GTK_CHECK_VERSION(2,4,0) - GtkSettings *setting = NULL; -#endif + gint i; + gchar *prefbase = NULL; GString *style_string = g_string_new(""); if (purple_prefs_get_bool("/plugins/gtk/purplerc/set/gtk-font-name")) { - const char *pref = purple_prefs_get_string("/plugins/gtk/purplerc/gtk-font-name"); + const gchar *pref = purple_prefs_get_string("/plugins/gtk/purplerc/gtk-font-name"); - if (pref != NULL && strcmp(pref, "")) - g_string_append_printf(style_string, "gtk-font-name = \"%s\"\n", pref); + if (pref != NULL && strcmp(pref, "")) { + g_string_append_printf(style_string, + "gtk-font-name = \"%s\"\n", + pref); + } } if (purple_prefs_get_bool("/plugins/gtk/purplerc/set/gtk-key-theme-name")) { - const char *pref = purple_prefs_get_string("/plugins/gtk/purplerc/gtk-key-theme-name"); + const gchar *pref = purple_prefs_get_string("/plugins/gtk/purplerc/gtk-key-theme-name"); - if (pref != NULL && strcmp(pref, "")) - g_string_append_printf(style_string, "gtk-key-theme-name = \"%s\"\n", pref); + if (pref != NULL && strcmp(pref, "")) { + g_string_append_printf(style_string, + "gtk-key-theme-name = \"%s\"\n", + pref); + } } - g_string_append(style_string, "style \"purplerc_style\" {\n"); + g_string_append(style_string, "style \"purplerc_style\"\n{"); for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) { if (purple_prefs_get_bool(color_prefs_set[i])) { - const char *pref; - - prefbase = g_path_get_basename(color_prefs[i]); - pref = purple_prefs_get_string(color_prefs[i]); + const gchar *pref; - if (pref != NULL && strcmp(pref, "")) - g_string_append_printf(style_string, - "%s = \"%s\"\n", - prefbase, pref); - g_free(prefbase); + pref = purple_prefs_get_string(color_prefs[i]); + if (pref != NULL && strcmp(pref, "")) { + prefbase = g_path_get_basename(color_prefs[i]); + g_string_append_printf(style_string, + "\n\t%s = \"%s\"", + prefbase, pref); + g_free(prefbase); + } } } @@ -133,7 +136,7 @@ if (purple_prefs_get_bool(widget_size_prefs_set[i])) { prefbase = g_path_get_basename(widget_size_prefs[i]); g_string_append_printf(style_string, - "%s = %d\n", prefbase, + "\n\t%s = %d", prefbase, purple_prefs_get_int(widget_size_prefs[i])); g_free(prefbase); } @@ -144,37 +147,47 @@ if (purple_prefs_get_bool(widget_bool_prefs_set[i])) { prefbase = g_path_get_basename(widget_bool_prefs[i]); g_string_append_printf(style_string, - "%s = %d\n", prefbase, + "\t%s = %d\n", prefbase, purple_prefs_get_bool(widget_bool_prefs[i])); g_free(prefbase); } } */ - g_string_append(style_string, "}"); - g_string_append(style_string, "widget_class \"*\" style \"purplerc_style\"\n"); + g_string_append(style_string, "\n}\nwidget_class \"*\" style \"purplerc_style\"\n"); for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) { if (purple_prefs_get_bool(font_prefs_set[i])) { - const char *pref; - - prefbase = g_path_get_basename(font_prefs[i]); - pref = purple_prefs_get_string(font_prefs[i]); + const gchar *pref; - if (pref != NULL && strcmp(pref, "")) + pref = purple_prefs_get_string(font_prefs[i]); + if (pref != NULL && strcmp(pref, "")) { + prefbase = g_path_get_basename(font_prefs[i]); g_string_append_printf(style_string, - "style \"%s_style\"\n" - "{font_name = \"%s\"}\n" - "widget \"%s\" " + "style \"%s_style\"\n{\n" + "\tfont_name = \"%s\"\n}" + "\nwidget \"%s\" " "style \"%s_style\"\n", prefbase, pref, prefbase, prefbase); - g_free(prefbase); + g_free(prefbase); + } } } - gtk_rc_parse_string(style_string->str); - g_string_free(style_string, TRUE); + return style_string; +} + +static void +purplerc_make_changes() +{ + GString *str = make_gtkrc_string(); +#if GTK_CHECK_VERSION(2,4,0) + GtkSettings *setting = NULL; +#endif + + gtk_rc_parse_string(str->str); + g_string_free(str, TRUE); #if GTK_CHECK_VERSION(2,4,0) setting = gtk_settings_get_default(); @@ -185,92 +198,10 @@ static void purplerc_write(GtkWidget *widget, gpointer data) { - int i; - GString *style_string = g_string_new(""); - char *prefbase = NULL; - - if (purple_prefs_get_bool("/plugins/gtk/purplerc/set/gtk-font-name")) { - const char *pref = purple_prefs_get_string("/plugins/gtk/purplerc/gtk-font-name"); - - if (pref != NULL && strcmp(pref, "")) - g_string_append_printf(style_string, - "gtk-font-name = \"%s\"\n", - pref); - } - - if (purple_prefs_get_bool("/plugins/gtk/purplerc/set/gtk-key-theme-name")) { - const char *pref = purple_prefs_get_string("/plugins/gtk/purplerc/gtk-key-theme-name"); - - if (pref != NULL && strcmp(pref, "")) - g_string_append_printf(style_string, - "gtk-key-theme-name = \"%s\"\n", - pref); - } - - g_string_append(style_string, "style \"purplerc_style\" {\n"); - - for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) { - if (purple_prefs_get_bool(color_prefs_set[i])) { - const char *pref; - - prefbase = g_path_get_basename(color_prefs[i]); - pref = purple_prefs_get_string(color_prefs[i]); - - if (pref != NULL && strcmp(pref, "")) - g_string_append_printf(style_string, - "%s = \"%s\"\n", - prefbase, pref); - g_free(prefbase); - } - } - - for (i = 0; i < G_N_ELEMENTS(widget_size_prefs); i++) { - if (purple_prefs_get_bool(widget_size_prefs_set[i])) { - prefbase = g_path_get_basename(widget_size_prefs[i]); - g_string_append_printf(style_string, - "%s = %d\n", prefbase, - purple_prefs_get_int(widget_size_prefs[i])); - g_free(prefbase); - } - } - - /* - for (i = 0; i < G_N_ELEMENTS(widget_bool_prefs); i++) { - if (purple_prefs_get_bool(widget_bool_prefs_set[i])) { - prefbase = g_path_get_basename(widget_bool_prefs[i]); - g_string_append_printf(style_string, - "%s = %d\n", prefbase, - purple_prefs_get_bool(widget_bool_prefs[i])); - g_free(prefbase); - } - } - */ - - g_string_append(style_string, "}"); - g_string_append(style_string, "widget_class \"*\" style \"purplerc_style\"\n"); - - for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) { - if (purple_prefs_get_bool(font_prefs_set[i])) { - const char *pref; - - prefbase = g_path_get_basename(font_prefs[i]); - pref = purple_prefs_get_string(font_prefs[i]); - - if (pref != NULL && strcmp(pref, "")) - g_string_append_printf(style_string, - "style \"%s_style\"\n" - "{font_name = \"%s\"}\n" - "widget \"%s\" " - "style \"%s_style\"\n", - prefbase, pref, - prefbase, prefbase); - g_free(prefbase); - } - } - - purple_util_write_data_to_file("gtkrc-2.0", style_string->str, -1); - - g_string_free(style_string, TRUE); + GString *str = make_gtkrc_string(); + str = g_string_prepend(str, "# This file automatically written by the Pidgin GTK+ Theme Control plugin.\n# Any changes to this file will be overwritten by the plugin when told to\n# write the settings again.\n# The FAQ (http://developer.pidgin.im/wiki/FAQ) contains some further examples\n# of possible pidgin gtkrc settings.\n"); + purple_util_write_data_to_file("gtkrc-2.0", str->str, -1); + g_string_free(str, TRUE); } static void @@ -283,7 +214,7 @@ static void purplerc_pref_changed_cb(const char *name, PurplePrefType type, - gconstpointer value, gpointer data) + gconstpointer value, gpointer data) { purplerc_make_changes(); } @@ -291,12 +222,12 @@ static void purplerc_color_response(GtkDialog *color_dialog, gint response, gpointer data) { - int subscript = GPOINTER_TO_INT(data); + gint subscript = GPOINTER_TO_INT(data); if (response == GTK_RESPONSE_OK) { + GdkColor color; + gchar colorstr[8]; GtkWidget *colorsel = GTK_COLOR_SELECTION_DIALOG(color_dialog)->colorsel; - GdkColor color; - char colorstr[8]; gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(colorsel), &color); @@ -311,11 +242,11 @@ static void purplerc_set_color(GtkWidget *widget, gpointer data) { + GdkColor color; + gchar title[128]; + const gchar *pref = NULL; GtkWidget *color_dialog = NULL; - GdkColor color; - char title[128]; - const char *pref = NULL; - int subscript = GPOINTER_TO_INT(data); + gint subscript = GPOINTER_TO_INT(data); g_snprintf(title, sizeof(title), _("Select Color for %s"), _(color_names[GPOINTER_TO_INT(data)])); @@ -337,14 +268,21 @@ static void purplerc_font_response(GtkDialog *font_dialog, gint response, gpointer data) { - int subscript = GPOINTER_TO_INT(data); + const gchar *prefpath; + gint subscript = GPOINTER_TO_INT(data); if (response == GTK_RESPONSE_OK) { - char *fontname = NULL; + gchar *fontname = NULL; + + if (subscript == -1) { + prefpath = "/plugins/gtk/purplerc/gtk-font-name"; + } else { + prefpath = font_prefs[subscript]; + } fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(font_dialog)); - purple_prefs_set_string(font_prefs[subscript], fontname); + purple_prefs_set_string(prefpath, fontname); g_free(fontname); } gtk_widget_destroy(GTK_WIDGET(font_dialog)); @@ -353,53 +291,25 @@ static void purplerc_set_font(GtkWidget *widget, gpointer data) { + gchar title[128]; GtkWidget *font_dialog = NULL; - char title[128]; - const char *pref = NULL; - int subscript = GPOINTER_TO_INT(data); + gint subscript = GPOINTER_TO_INT(data); + const gchar *pref = NULL, *prefpath = NULL; - g_snprintf(title, sizeof(title), _("Select Font for %s"), - _(font_names[subscript])); + if (subscript == -1) { + g_snprintf(title, sizeof(title), _("Select Interface Font")); + prefpath = "/plugins/gtk/purplerc/gtk-font-name"; + } else { + g_snprintf(title, sizeof(title), _("Select Font for %s"), + _(font_names[subscript])); + prefpath = font_prefs[subscript]; + } + font_dialog = gtk_font_selection_dialog_new(title); g_signal_connect(G_OBJECT(font_dialog), "response", G_CALLBACK(purplerc_font_response), data); - pref = purple_prefs_get_string(font_prefs[subscript]); - - if (pref != NULL && strcmp(pref, "")) { - gtk_font_selection_set_font_name(GTK_FONT_SELECTION(GTK_FONT_SELECTION_DIALOG(font_dialog)->fontsel), pref); - } - - gtk_window_present(GTK_WINDOW(font_dialog)); -} - -static void -purplerc_font_response_special(GtkDialog *font_dialog, gint response, - gpointer data) -{ - if (response == GTK_RESPONSE_OK) { - char *fontname = NULL; - - fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(font_dialog)); - - purple_prefs_set_string("/plugins/gtk/purplerc/gtk-font-name", - fontname); - g_free(fontname); - } - gtk_widget_destroy(GTK_WIDGET(font_dialog)); -} - -static void -purplerc_set_font_special(GtkWidget *widget, gpointer data) -{ - GtkWidget *font_dialog = NULL; - const char *pref = NULL; - - font_dialog = gtk_font_selection_dialog_new(_("Select Interface Font")); - g_signal_connect(G_OBJECT(font_dialog), "response", - G_CALLBACK(purplerc_font_response_special), NULL); - - pref = purple_prefs_get_string("/plugins/gtk/purplerc/gtk-font-name"); + pref = purple_prefs_get_string(prefpath); if (pref != NULL && strcmp(pref, "")) { gtk_font_selection_set_font_name(GTK_FONT_SELECTION(GTK_FONT_SELECTION_DIALOG(font_dialog)->fontsel), pref); @@ -413,8 +323,10 @@ { purplerc_make_changes(); - pref_callback = purple_prefs_connect_callback(plugin, "/plugins/gtk/purplerc", - purplerc_pref_changed_cb, NULL); + pref_callback = purple_prefs_connect_callback(plugin, + "/plugins/gtk/purplerc", + purplerc_pref_changed_cb, + NULL); return TRUE; } @@ -433,17 +345,23 @@ /* Note: Intentionally not using the size group argument to the * pidgin_prefs_labeled_* functions they only add the text label to * the size group not the whole thing, which isn't what I want. */ - int i; - char *tmp; + gint i; + gchar *tmp; GtkWidget *check = NULL, *widget = NULL; - GtkSizeGroup *labelsg = NULL, *widgetsg = NULL; - GtkWidget *ret = NULL, *frame = NULL, *hbox = NULL, *vbox = NULL; + GtkWidget *ret = NULL, *hbox = NULL, *frame = NULL; + GtkSizeGroup *labelsg = NULL, *widgetsg = NULL, *buttonsg = NULL; +#ifndef _WIN32 + const gchar *homepath = "$HOME"; +#else + const gchar *homepath = "\%APPDATA\%"; +#endif ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); gtk_container_set_border_width(GTK_CONTAINER(ret), PIDGIN_HIG_BORDER); labelsg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); widgetsg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); + buttonsg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); frame = pidgin_make_frame(ret, _("General")); /* interface font */ @@ -451,12 +369,12 @@ gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); check = pidgin_prefs_checkbox(_("GTK+ Interface Font"), - "/plugins/gtk/purplerc/set/gtk-font-name", - hbox); + "/plugins/gtk/purplerc/set/gtk-font-name", + hbox); gtk_size_group_add_widget(labelsg, check); widget = pidgin_pixbuf_button_from_stock("", GTK_STOCK_SELECT_FONT, - PIDGIN_BUTTON_HORIZONTAL); + PIDGIN_BUTTON_HORIZONTAL); gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0); gtk_size_group_add_widget(widgetsg, widget); gtk_widget_set_sensitive(widget, @@ -464,20 +382,20 @@ g_signal_connect(G_OBJECT(check), "toggled", G_CALLBACK(pidgin_toggle_sensitive), widget); g_signal_connect(G_OBJECT(widget), "clicked", - G_CALLBACK(purplerc_set_font_special), NULL); + G_CALLBACK(purplerc_set_font), GINT_TO_POINTER(-1)); /* key theme name */ hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); check = pidgin_prefs_checkbox(_("GTK+ Text Shortcut Theme"), - "/plugins/gtk/purplerc/set/gtk-key-theme-name", - hbox); + "/plugins/gtk/purplerc/set/gtk-key-theme-name", + hbox); gtk_size_group_add_widget(labelsg, check); widget = pidgin_prefs_labeled_entry(hbox, "", - "/plugins/gtk/purplerc/gtk-key-theme-name", - NULL); + "/plugins/gtk/purplerc/gtk-key-theme-name", + NULL); /* gtk_size_group_add_widget(widgetsg, widget); */ @@ -492,7 +410,7 @@ gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); check = pidgin_prefs_checkbox(_(widget_bool_names[i]), - widget_bool_prefs_set[i], hbox); + widget_bool_prefs_set[i], hbox); gtk_size_group_add_widget(labelsg, check); widget_bool_widgets[i] = pidgin_prefs_checkbox("", widget_bool_prefs[i], hbox); @@ -514,7 +432,7 @@ gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); check = pidgin_prefs_checkbox(_(color_names[i]), - color_prefs_set[i], hbox); + color_prefs_set[i], hbox); gtk_size_group_add_widget(labelsg, check); color_widgets[i] = pidgin_pixbuf_button_from_stock("", GTK_STOCK_SELECT_COLOR, PIDGIN_BUTTON_HORIZONTAL); @@ -538,7 +456,7 @@ gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); check = pidgin_prefs_checkbox(_(widget_size_names[i]), - widget_size_prefs_set[i], hbox); + widget_size_prefs_set[i], hbox); gtk_size_group_add_widget(labelsg, check); widget_size_widgets[i] = pidgin_prefs_labeled_spin_button(hbox, "", widget_size_prefs[i], 0, 50, NULL); @@ -559,7 +477,7 @@ gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); check = pidgin_prefs_checkbox(_(font_names[i]), - font_prefs_set[i], hbox); + font_prefs_set[i], hbox); gtk_size_group_add_widget(labelsg, check); font_widgets[i] = pidgin_pixbuf_button_from_stock("", GTK_STOCK_SELECT_FONT, PIDGIN_BUTTON_HORIZONTAL); @@ -572,27 +490,29 @@ G_CALLBACK(pidgin_toggle_sensitive), font_widgets[i]); g_signal_connect(G_OBJECT(font_widgets[i]), "clicked", - G_CALLBACK(purplerc_set_font), GINT_TO_POINTER(i)); + G_CALLBACK(purplerc_set_font), + GINT_TO_POINTER(i)); } - frame = pidgin_make_frame(ret, _("Tools")); + frame = pidgin_make_frame(ret, _("Gtkrc File Tools")); - vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); - gtk_box_pack_start(GTK_BOX(frame), vbox, FALSE, FALSE, 0); + hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); + gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); - tmp = g_strdup_printf(_("Write settings to %s%sgtkrc-2.0"), purple_user_dir(), G_DIR_SEPARATOR_S); + tmp = g_strdup_printf(_("Write settings to %s%sgtkrc-2.0"), + homepath, G_DIR_SEPARATOR_S); check = gtk_button_new_with_label(tmp); g_free(tmp); - gtk_box_pack_start(GTK_BOX(vbox), check, FALSE, FALSE, 0); - gtk_size_group_add_widget(labelsg, check); - g_signal_connect(G_OBJECT(check), "clicked", G_CALLBACK(purplerc_write), - NULL); + gtk_box_pack_start(GTK_BOX(hbox), check, FALSE, FALSE, 0); + gtk_size_group_add_widget(buttonsg, check); + g_signal_connect(G_OBJECT(check), "clicked", + G_CALLBACK(purplerc_write), NULL); check = gtk_button_new_with_label(_("Re-read gtkrc files")); - gtk_box_pack_start(GTK_BOX(vbox), check, FALSE, FALSE, 0); - gtk_size_group_add_widget(labelsg, check); - g_signal_connect(G_OBJECT(check), "clicked", G_CALLBACK(purplerc_reread), - NULL); + gtk_box_pack_start(GTK_BOX(hbox), check, FALSE, FALSE, 0); + gtk_size_group_add_widget(buttonsg, check); + g_signal_connect(G_OBJECT(check), "clicked", + G_CALLBACK(purplerc_reread), NULL); gtk_widget_show_all(ret); return ret; @@ -645,7 +565,7 @@ static void purplerc_init(PurplePlugin *plugin) { - int i; + gint i; purple_prefs_add_none("/plugins"); purple_prefs_add_none("/plugins/gtk");
--- a/pidgin/plugins/relnot.c Tue Jun 19 19:40:06 2007 +0000 +++ b/pidgin/plugins/relnot.c Thu Jun 21 20:37:57 2007 +0000 @@ -70,8 +70,9 @@ message = g_string_new(""); g_string_append_printf(message, _("You are using %s version %s. The " "current version is %s. You can get it from " - "<a href=\"" PURPLE_WEBSITE "\">" PURPLE_WEBSITE "</a><hr>"), - PIDGIN_NAME, purple_core_get_version(), cur_ver); + "<a href=\"%s\">%s</a><hr>"), + PIDGIN_NAME, purple_core_get_version(), cur_ver, + PURPLE_WEBSITE, PURPLE_WEBSITE); if(*changelog) { formatted = purple_strdup_withhtml(changelog);