Mercurial > pidgin
changeset 20641:707cd521188a
propagate from branch 'im.pidgin.pidgin' (head e67a54b3bf4349b6e65a46f749626a122c6afb22)
to branch 'im.pidgin.sadrul.currentmedia' (head d3dc349e84591135f4f729a4e169ca65e48fc6e2)
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Fri, 21 Sep 2007 13:27:41 +0000 |
parents | 485a0bffe4f5 (current diff) ec11c8ec0305 (diff) |
children | ba6cd9c25853 |
files | libpurple/protocols/jabber/google.c pidgin/gtkblist.c |
diffstat | 39 files changed, 412 insertions(+), 235 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Fri Sep 21 02:11:29 2007 +0000 +++ b/ChangeLog Fri Sep 21 13:27:41 2007 +0000 @@ -34,6 +34,7 @@ * Pidgin's display is now saved with the command line for session restoration. (David Mohr) * You should no longer lose proxy settings when Pidgin is restarted. + * ICQ Birthday notifications are shown as buddy list emblems Version 2.2.0 (09/13/2007): http://developer.pidgin.im/query?status=closed&milestone=2.2.0
--- a/doc/funniest_home_convos.txt Fri Sep 21 02:11:29 2007 +0000 +++ b/doc/funniest_home_convos.txt Fri Sep 21 13:27:41 2007 +0000 @@ -487,3 +487,21 @@ established that 19:03 <user> its functioning just fine +-- + +17:12 <a_user> I think I foundage a bug +17:13 <a_user> I don't think blocking works correctly for the AIM protocol +17:13 <a_user> because a girl attempted to block me in pidgin and I can still + talk to her +17:14 <a_user> [screen name expunged]: I already told you yesterday. You don't + need me to ease your mind, you want me to change MY mind. Well, + you're out of luck. I don't know how you're still messaging me, + because I already blocked you, but I demand you stop immediately. + For now on, I will save every message that you send me as + evidence for the next time I decide to call the police. I did + call them yesterday, but I didn't have evidence. The more you + message me now, the more you're digging you're own grave, so I + advice you to stop. +17:14 <a_user> see? +17:16 <sadrul> I think blocking in pidgin not working is not your biggest + problem here.
--- a/libpurple/ft.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/ft.c Fri Sep 21 13:27:41 2007 +0000 @@ -67,6 +67,7 @@ xfer->ui_ops = purple_xfers_get_ui_ops(); xfer->message = NULL; xfer->current_buffer_size = FT_INITIAL_BUFFER_SIZE; + xfer->fd = -1; ui_ops = purple_xfer_get_ui_ops(xfer);
--- a/libpurple/notify.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/notify.c Fri Sep 21 13:27:41 2007 +0000 @@ -150,8 +150,6 @@ { PurpleNotifyUiOps *ops; - g_return_val_if_fail(count != 0, NULL); - if (count == 1) { return purple_notify_email(handle, (subjects == NULL ? NULL : *subjects), @@ -506,7 +504,7 @@ g_return_if_fail(user_info_entry != NULL); g_free(user_info_entry->label); - g_free(user_info_entry->value); + g_free(user_info_entry->value); PURPLE_DBUS_UNREGISTER_POINTER(user_info_entry); g_free(user_info_entry); } @@ -568,7 +566,7 @@ if (user_info_entry->label && user_info_entry->value) g_string_append(text, ": "); if (user_info_entry->value) - g_string_append(text, user_info_entry->value); + g_string_append(text, user_info_entry->value); /* Display a section break as a horizontal line */ if (user_info_entry->type == PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_BREAK)
--- a/libpurple/protocols/jabber/buddy.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/protocols/jabber/buddy.c Fri Sep 21 13:27:41 2007 +0000 @@ -1656,8 +1656,10 @@ if(!strcmp(ns, "jabber:iq:last")) { if(!strcmp(jbr->client.name, "Trillian")) { - if(!strcmp(jbr->client.version, "3.1.0.121")) { - /* verified by nwalp 2007/05/09 */ + /* verified by nwalp 2007/05/09 */ + if(!strcmp(jbr->client.version, "3.1.0.121") || + /* verified by nwalp 2007/09/19 */ + !strcmp(jbr->client.version, "3.1.7.0")) { return TRUE; } }
--- a/libpurple/protocols/jabber/google.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/protocols/jabber/google.c Fri Sep 21 13:27:41 2007 +0000 @@ -61,14 +61,9 @@ to = xmlnode_get_attrib(packet, "to"); default_tos[0] = jabber_get_bare_jid(to); - if (count == 0) { - purple_notify_emails(js->gc, count, FALSE, NULL, NULL, (const char**) default_tos, NULL, NULL, NULL); - g_free(default_tos[0]); - return; - } + message = xmlnode_get_child(child, "mail-thread-info"); - message = xmlnode_get_child(child, "mail-thread-info"); - if (!message) { + if (count == 0 || !message) { purple_notify_emails(js->gc, count, FALSE, NULL, NULL, (const char**) default_tos, NULL, NULL, NULL); g_free(default_tos[0]); return; @@ -127,7 +122,7 @@ if (i>0) purple_notify_emails(js->gc, count, count == i, (const char**) subjects, froms, tos, urls, NULL, NULL); - else + else purple_notify_emails(js->gc, count, FALSE, NULL, NULL, (const char**) default_tos, NULL, NULL, NULL); @@ -257,7 +252,8 @@ if (grt && (*grt == 'H' || *grt == 'h')) { PurpleBuddy *buddy = purple_find_buddy(account, jid_norm); - purple_blist_remove_buddy(buddy); + if (buddy) + purple_blist_remove_buddy(buddy); g_free(jid_norm); return FALSE; }
--- a/libpurple/protocols/jabber/iq.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/protocols/jabber/iq.c Fri Sep 21 13:27:41 2007 +0000 @@ -255,7 +255,7 @@ if(type && !strcmp(type, "get")) { GHashTable *ui_info; const char *ui_name = NULL, *ui_version = NULL; - +#if 0 if(!purple_prefs_get_bool("/plugins/prpl/jabber/hide_os")) { struct utsname osinfo; @@ -263,7 +263,7 @@ os = g_strdup_printf("%s %s %s", osinfo.sysname, osinfo.release, osinfo.machine); } - +#endif from = xmlnode_get_attrib(packet, "from"); id = xmlnode_get_attrib(packet, "id");
--- a/libpurple/protocols/msn/directconn.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/protocols/msn/directconn.c Fri Sep 21 13:27:41 2007 +0000 @@ -418,6 +418,15 @@ } } +static void +directconn_connect_cb(gpointer data, gint source, const gchar *error_message) +{ + if (error_message) + purple_debug_error("msn", "Error making direct connection: %s\n", error_message); + + connect_cb(data, source, PURPLE_INPUT_READ); +} + gboolean msn_directconn_connect(MsnDirectConn *directconn, const char *host, int port) { @@ -437,14 +446,9 @@ #endif directconn->connect_data = purple_proxy_connect(NULL, session->account, - host, port, connect_cb, directconn); + host, port, directconn_connect_cb, directconn); - if (directconn->connect_data != NULL) - { - return TRUE; - } - else - return FALSE; + return (directconn->connect_data != NULL); } void
--- a/libpurple/protocols/msn/httpconn.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/protocols/msn/httpconn.c Fri Sep 21 13:27:41 2007 +0000 @@ -663,6 +663,8 @@ httpconn->tx_buf = purple_circ_buffer_new(MSN_BUF_LEN); httpconn->tx_handler = 0; + httpconn->fd = -1; + return httpconn; }
--- a/libpurple/protocols/msn/servconn.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/protocols/msn/servconn.c Fri Sep 21 13:27:41 2007 +0000 @@ -53,6 +53,8 @@ servconn->tx_buf = purple_circ_buffer_new(MSN_BUF_LEN); servconn->tx_handler = 0; + serconn->fd = -1; + return servconn; }
--- a/libpurple/protocols/msn/session.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/protocols/msn/session.c Fri Sep 21 13:27:41 2007 +0000 @@ -269,7 +269,7 @@ /* The core used to use msn_add_buddy to add all buddies before * being logged in. This no longer happens, so we manually iterate - * over the whole buddy list to identify sync issues. + * over the whole buddy list to identify sync issues. */ for (gnode = purple_get_blist()->root; gnode; gnode = gnode->next) { PurpleGroup *group = (PurpleGroup *)gnode; @@ -342,6 +342,8 @@ case MSN_ERROR_SIGN_OTHER: gc->wants_to_die = TRUE; msg = g_strdup(_("You have signed on from another location.")); + if (!purple_account_get_remember_password(session->account)) + purple_account_set_password(session->account, NULL); break; case MSN_ERROR_SERV_UNAVAILABLE: msg = g_strdup(_("The MSN servers are temporarily "
--- a/libpurple/protocols/msn/userlist.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/protocols/msn/userlist.c Fri Sep 21 13:27:41 2007 +0000 @@ -133,6 +133,7 @@ return FALSE; } +#if 0 static const char* get_store_name(MsnUser *user) { @@ -160,6 +161,7 @@ return store_name; } +#endif /************************************************************************** * Server functions
--- a/libpurple/protocols/myspace/myspace.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/protocols/myspace/myspace.c Fri Sep 21 13:27:41 2007 +0000 @@ -1784,11 +1784,13 @@ /* Destroy session if fatal. */ if (msim_msg_get(msg, "fatal")) { purple_debug_info("msim", "fatal error, closing\n"); - if (err == 260) { - /* Incorrect password */ - session->gc->wants_to_die = TRUE; - if (!purple_account_get_remember_password(session->account)) - purple_account_set_password(session->account, NULL); + switch (err) { + case 260: /* Incorrect password */ + case 6: /* Logged in elsewhere */ + session->gc->wants_to_die = TRUE; + if (!purple_account_get_remember_password(session->account)) + purple_account_set_password(session->account, NULL); + break; } purple_connection_error(session->gc, full_errmsg); } else {
--- a/libpurple/protocols/novell/novell.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/protocols/novell/novell.c Fri Sep 21 13:27:41 2007 +0000 @@ -130,6 +130,8 @@ if (ret_code == NMERR_AUTHENTICATION_FAILED || ret_code == NMERR_CREDENTIALS_MISSING || ret_code == NMERR_PASSWORD_INVALID) { + if (!purple_account_get_remember_password(gc->account)) + purple_account_set_password(gc->account, NULL); gc->wants_to_die = TRUE; } purple_connection_error(gc, err); @@ -2004,11 +2006,14 @@ _evt_user_disconnect(NMUser * user, NMEvent * event) { PurpleConnection *gc; - - gc = purple_account_get_connection((PurpleAccount *) user->client_data); + PurpleAccount *account = user->client_data; + + gc = purple_account_get_connection(account); if (gc) { gc->wants_to_die = TRUE; /* we don't want to reconnect in this case */ + if (!purple_account_get_remember_password(account)) + purple_account_set_password(account, NULL); purple_connection_error(gc, _("You have been logged out because you" " logged in at another workstation.")); } @@ -2799,7 +2804,7 @@ const char *text = NULL; if (buddy == NULL) - return; + return; gc = purple_account_get_connection(buddy->account); if (gc == NULL || (user = gc->proto_data) == NULL)
--- a/libpurple/protocols/oscar/flap_connection.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/protocols/oscar/flap_connection.c Fri Sep 21 13:27:41 2007 +0000 @@ -382,6 +382,8 @@ gchar *tmp; if (conn->disconnect_code == 0x0001) { tmp = g_strdup(_("You have signed on from another location.")); + if (!purple_account_get_remember_password(account)) + purple_account_set_password(account, NULL); od->gc->wants_to_die = TRUE; } else if (conn->disconnect_reason == OSCAR_DISCONNECT_REMOTE_CLOSED) tmp = g_strdup(_("Server closed the connection."));
--- a/libpurple/protocols/oscar/oscar.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/protocols/oscar/oscar.c Fri Sep 21 13:27:41 2007 +0000 @@ -5507,6 +5507,8 @@ return "hiptop"; if (userinfo->capabilities & OSCAR_CAPABILITY_SECUREIM) return "secure"; + if (userinfo->icqinfo.status & AIM_ICQ_STATE_BIRTHDAY) + return "birthday"; } return NULL; }
--- a/libpurple/protocols/qq/login_logout.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/protocols/qq/login_logout.c Fri Sep 21 13:27:41 2007 +0000 @@ -480,6 +480,8 @@ switch (ret) { case QQ_LOGIN_REPLY_PWD_ERROR: gc->wants_to_die = TRUE; + if (!purple_account_get_remember_password(gc->account)) + purple_account_set_password(gc->account, NULL); purple_connection_error(gc, _("Incorrect password.")); break; case QQ_LOGIN_REPLY_MISC_ERROR:
--- a/libpurple/protocols/simple/simple.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/protocols/simple/simple.c Fri Sep 21 13:27:41 2007 +0000 @@ -695,7 +695,7 @@ static void do_register_exp(struct simple_account_data *sip, int expire) { char *uri, *to, *contact, *hdr; - /* Set our default expiration to 900, + /* Set our default expiration to 900, * as done in the initialization of the simple_account_data * structure. */ @@ -1042,6 +1042,8 @@ if(sip->registrar.retries > SIMPLE_REGISTER_RETRY_MAX) { purple_debug_info("simple", "Setting wants_to_die to true.\n"); sip->gc->wants_to_die = TRUE; + if (!purple_account_get_remember_password(sip->gc->account)) + purple_account_set_password(sip->gc->account, NULL); purple_connection_error(sip->gc, _("Incorrect password.")); return TRUE; }
--- a/libpurple/protocols/yahoo/yahoo.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/protocols/yahoo/yahoo.c Fri Sep 21 13:27:41 2007 +0000 @@ -202,6 +202,8 @@ if (pkt->service == YAHOO_SERVICE_LOGOFF && pkt->status == -1) { gc->wants_to_die = TRUE; + if (!purple_account_get_remember_password(account)) + purple_account_set_password(account, NULL); purple_connection_error(gc, _("You have signed on from another location.")); return; } @@ -4087,12 +4089,12 @@ { return TRUE; } - + gboolean yahoo_send_attention(PurpleConnection *gc, const char *username, guint type) { PurpleConversation *c; - c = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, + c = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, username, gc->account); g_return_val_if_fail(c != NULL, FALSE); @@ -4117,7 +4119,7 @@ attn->incoming_description = _("%s has buzzed you!"); attn->outgoing_description = _("Buzzing %s..."); list = g_list_append(list, attn); - } + } return list; }
--- a/libpurple/protocols/yahoo/yahoo_aliases.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/protocols/yahoo/yahoo_aliases.c Fri Sep 21 13:27:41 2007 +0000 @@ -45,7 +45,7 @@ */ struct callback_data { PurpleConnection *gc; - const char *id; + char *id; }; @@ -56,11 +56,16 @@ static void yahoo_fetch_aliases_cb(PurpleUtilFetchUrlData *url_data, gpointer user_data,const gchar *url_text, size_t len, const gchar *error_message) { + struct callback_data *cb = user_data; + PurpleConnection *gc = cb->gc; + struct yahoo_data *yd = gc->proto_data; + + yd->url_datas = g_slist_remove(yd->url_datas, url_data); + if (len == 0) { purple_debug_info("yahoo","No Aliases to process\n"); } else { const char *yid, *full_name, *nick_name, *alias, *id, *fn, *ln, *nn; - struct callback_data *cb = user_data; PurpleBuddy *b = NULL; xmlnode *item, *contacts; @@ -123,8 +128,9 @@ } } xmlnode_free(contacts); - g_free(cb); } + g_free(cb->id); + g_free(cb); } void @@ -134,6 +140,7 @@ struct callback_data *cb; char *url, *request, *webpage, *webaddress, *strtmp; int inttmp; + PurpleUtilFetchUrlData *url_data; /* Using callback_data so I have access to gc in the callback function */ cb = g_new0(struct callback_data, 1); @@ -150,7 +157,12 @@ webpage, yd->cookie_t,yd->cookie_y, webaddress); /* We have a URL and some header information, let's connect and get some aliases */ - purple_util_fetch_url_request(url, FALSE, NULL, TRUE, request, FALSE, yahoo_fetch_aliases_cb, cb); + url_data = purple_util_fetch_url_request(url, FALSE, NULL, TRUE, request, FALSE, yahoo_fetch_aliases_cb, cb); + if (url_data != NULL) { + yd->url_datas = g_slist_prepend(yd->url_datas, url_data); + } else { + g_free(cb); + } g_free(url); g_free(request); @@ -165,6 +177,11 @@ { xmlnode *node, *result; struct callback_data *cb = user_data; + PurpleConnection *gc = cb->gc; + struct yahoo_data *yd; + + yd = gc->proto_data; + yd->url_datas = g_slist_remove(yd->url_datas, url_data); result = xmlnode_from_str(url_text, -1); @@ -184,6 +201,7 @@ purple_debug_info("yahoo", "Alias update failed (No contact record returned)\n"); } + g_free(cb->id); g_free(cb); xmlnode_free(result); } @@ -197,6 +215,7 @@ int inttmp; struct callback_data *cb; PurpleBuddy *buddy; + PurpleUtilFetchUrlData *url_data; g_return_if_fail(alias!= NULL); g_return_if_fail(who!=NULL); @@ -216,6 +235,7 @@ /* Using callback_data so I have access to gc in the callback function */ cb = g_new0(struct callback_data, 1); cb->id = g_strdup(yu->id); + cb->gc = gc; /* Build all the info to make the web request */ url = g_strdup(YAHOO_ALIAS_UPDATE_URL); @@ -236,7 +256,13 @@ strlen(content), content); /* We have a URL and some header information, let's connect and update the alias */ - purple_util_fetch_url_request(url, FALSE, NULL, TRUE, request, FALSE, yahoo_update_alias_cb, cb); + url_data = purple_util_fetch_url_request(url, FALSE, NULL, TRUE, request, FALSE, yahoo_update_alias_cb, cb); + if (url_data != NULL) { + yd->url_datas = g_slist_prepend(yd->url_datas, url_data); + } else { + g_free(cb->id); + g_free(cb); + } g_free(content); g_free(url);
--- a/libpurple/prpl.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/prpl.c Fri Sep 21 13:27:41 2007 +0000 @@ -226,6 +226,9 @@ { if (!purple_account_is_disconnected(account)) purple_account_disconnect(account); + /* Clear out the unsaved password if we're already disconnected and we switch to offline status */ + else if (!purple_account_get_remember_password(account)) + purple_account_set_password(account, NULL); return; }
--- a/libpurple/util.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/util.c Fri Sep 21 13:27:41 2007 +0000 @@ -1526,7 +1526,8 @@ while(*p && *p != '>') { if(!g_ascii_strncasecmp(p, "href=", strlen("href="))) { const char *q = p + strlen("href="); - g_string_free(url, TRUE); + if (url) + g_string_free(url, TRUE); url = g_string_new(""); cdata = g_string_new(""); if(*q == '\'' || *q == '\"') @@ -3853,6 +3854,7 @@ gfud->full = full; gfud->request = g_strdup(request); gfud->include_headers = include_headers; + gfud->fd = -1; purple_url_parse(url, &gfud->website.address, &gfud->website.port, &gfud->website.page, &gfud->website.user, &gfud->website.passwd);
--- a/libpurple/win32/win32dep.c Fri Sep 21 02:11:29 2007 +0000 +++ b/libpurple/win32/win32dep.c Fri Sep 21 13:27:41 2007 +0000 @@ -43,7 +43,6 @@ /* * DEFINES & MACROS */ -#define WIN32_PROXY_REGKEY "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings" /* For shfolder.dll */ typedef HRESULT (CALLBACK* LPFNSHGETFOLDERPATHA)(HWND, int, HANDLE, DWORD, LPSTR); @@ -57,9 +56,6 @@ static HINSTANCE libpurpledll_hInstance = 0; -static HANDLE proxy_change_event = NULL; -static HKEY proxy_regkey = NULL; - /* * PUBLIC CODE */ @@ -431,86 +427,93 @@ return result; } -static void wpurple_refresh_proxy(void) { - gboolean set_proxy = FALSE; - DWORD enabled = 0; +/* the winapi headers don't yet have winhttp.h, so we use the struct from msdn directly */ +typedef struct { + BOOL fAutoDetect; + LPWSTR lpszAutoConfigUrl; + LPWSTR lpszProxy; + LPWSTR lpszProxyBypass; +} WINHTTP_CURRENT_USER_IE_PROXY_CONFIG; - wpurple_read_reg_dword(HKEY_CURRENT_USER, WIN32_PROXY_REGKEY, - "ProxyEnable", &enabled); - - if (enabled & 1) { - char *c = NULL; - char *tmp = wpurple_read_reg_string(HKEY_CURRENT_USER, WIN32_PROXY_REGKEY, - "ProxyServer"); +typedef BOOL (CALLBACK* LPFNWINHTTPGETIEPROXYCONFIG)(/*IN OUT*/ WINHTTP_CURRENT_USER_IE_PROXY_CONFIG* pProxyConfig); - /* There are proxy settings for several protocols */ - if (tmp && (c = g_strstr_len(tmp, strlen(tmp), "http="))) { - char *d; - c += strlen("http="); - d = strchr(c, ';'); - if (d) - *d = '\0'; - /* c now points the proxy server (and port) */ +gboolean wpurple_check_for_proxy_changes(void) { + static gboolean loaded = FALSE; + static LPFNWINHTTPGETIEPROXYCONFIG MyWinHttpGetIEProxyConfig = NULL; - /* There is only a global proxy */ - } else if (tmp && strlen(tmp) > 0 && !strchr(tmp, ';')) { - c = tmp; + WINHTTP_CURRENT_USER_IE_PROXY_CONFIG ie_proxy_config; + char *tmp = NULL, *c = NULL; + gboolean changed = FALSE; + + if (!loaded) { + loaded = TRUE; + + if (getenv("HTTP_PROXY") || getenv("http_proxy") || getenv("HTTPPROXY")) { + purple_debug_info("wpurple", "HTTP_PROXY env. var already set. Ignoring win32 Internet Settings.\n"); + return FALSE; } - if (c) { + MyWinHttpGetIEProxyConfig = (LPFNWINHTTPGETIEPROXYCONFIG) + wpurple_find_and_loadproc("winhttp.dll", "WinHttpGetIEProxyConfigForCurrentUser"); + if (!MyWinHttpGetIEProxyConfig) + purple_debug_info("wpurple", "Unable to read Windows Proxy Settings.\n"); + } + + if (!MyWinHttpGetIEProxyConfig) + return FALSE; + + ZeroMemory(&ie_proxy_config, sizeof(ie_proxy_config)); + if (!MyWinHttpGetIEProxyConfig(&ie_proxy_config)) { + purple_debug_error("wpurple", "Error reading Windows Proxy Settings(%u).\n", GetLastError()); + return FALSE; + } + + /* We can't do much if it is autodetect*/ + if (ie_proxy_config.fAutoDetect) + purple_debug_error("wpurple", "Windows Proxy Settings set to autodetect (not supported).\n"); + else if (ie_proxy_config.lpszProxy) { + tmp = g_utf16_to_utf8(ie_proxy_config.lpszProxy, -1, + NULL, NULL, NULL); + /* We can't do anything about the bypass list, as we don't have the url */ + } else + purple_debug_info("wpurple", "No Windows Proxy Set.\n"); + + if (ie_proxy_config.lpszAutoConfigUrl) + GlobalFree(ie_proxy_config.lpszAutoConfigUrl); + if (ie_proxy_config.lpszProxy) + GlobalFree(ie_proxy_config.lpszProxy); + if (ie_proxy_config.lpszProxyBypass) + GlobalFree(ie_proxy_config.lpszProxyBypass); + + /* There are proxy settings for several protocols */ + if (tmp && (c = g_strstr_len(tmp, strlen(tmp), "http="))) { + char *d; + c += strlen("http="); + d = strchr(c, ';'); + if (d) + *d = '\0'; + /* c now points the proxy server (and port) */ + /* There is only a global proxy */ + } else if (tmp && strlen(tmp) > 0 && !strchr(tmp, ';')) { + c = tmp; + } + + if (c && *c) { + const char *current = g_getenv("HTTP_PROXY"); + if (!current || strcmp(current, c)) { purple_debug_info("wpurple", "Setting HTTP Proxy: 'http://%s'\n", c); g_setenv("HTTP_PROXY", c, TRUE); - set_proxy = TRUE; + changed = TRUE; } - g_free(tmp); } - /* If there previously was a proxy set and there isn't one now, clear it */ - if (getenv("HTTP_PROXY") && !set_proxy) { + else if (getenv("HTTP_PROXY")) { purple_debug_info("wpurple", "Clearing HTTP Proxy\n"); g_unsetenv("HTTP_PROXY"); - } -} - -static void watch_for_proxy_changes(void) { - LONG rv; - DWORD filter = REG_NOTIFY_CHANGE_NAME | - REG_NOTIFY_CHANGE_LAST_SET; - - if (!proxy_regkey && - !(proxy_regkey = _reg_open_key(HKEY_CURRENT_USER, - WIN32_PROXY_REGKEY, KEY_NOTIFY))) { - return; - } - - if (!(proxy_change_event = CreateEvent(NULL, TRUE, FALSE, NULL))) { - char *errmsg = g_win32_error_message(GetLastError()); - purple_debug_error("wpurple", "Unable to watch for proxy changes: %s\n", errmsg); - g_free(errmsg); - return; + changed = TRUE; } - rv = RegNotifyChangeKeyValue(proxy_regkey, TRUE, filter, proxy_change_event, TRUE); - if (rv != ERROR_SUCCESS) { - char *errmsg = g_win32_error_message(rv); - purple_debug_error("wpurple", "Unable to watch for proxy changes: %s\n", errmsg); - g_free(errmsg); - CloseHandle(proxy_change_event); - proxy_change_event = NULL; - } - -} - -gboolean wpurple_check_for_proxy_changes(void) { - gboolean changed = FALSE; - - if (proxy_change_event && WaitForSingleObject(proxy_change_event, 0) == WAIT_OBJECT_0) { - CloseHandle(proxy_change_event); - proxy_change_event = NULL; - changed = TRUE; - wpurple_refresh_proxy(); - watch_for_proxy_changes(); - } + g_free(tmp); return changed; } @@ -555,15 +558,6 @@ if (!g_thread_supported()) g_thread_init(NULL); - /* If the proxy server environment variables are already set, - * we shouldn't override them */ - if (!getenv("HTTP_PROXY") && !getenv("http_proxy") && !getenv("HTTPPROXY")) { - wpurple_refresh_proxy(); - watch_for_proxy_changes(); - } else { - purple_debug_info("wpurple", "HTTP_PROXY env. var already set. Ignoring win32 Internet Settings.\n"); - } - purple_debug_info("wpurple", "wpurple_init end\n"); } @@ -578,11 +572,6 @@ g_free(app_data_dir); app_data_dir = NULL; - if (proxy_regkey) { - RegCloseKey(proxy_regkey); - proxy_regkey = NULL; - } - libpurpledll_hInstance = NULL; }
--- a/pidgin/gtkblist.c Fri Sep 21 02:11:29 2007 +0000 +++ b/pidgin/gtkblist.c Fri Sep 21 13:27:41 2007 +0000 @@ -3105,7 +3105,7 @@ { 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 }, -#if GTK_CHECK_VERSION(2,6,0) +#if GTK_CHECK_VERSION(2,6,0) { N_("/Help/_About"), NULL, pidgin_dialogs_about, 0, "<StockItem>", GTK_STOCK_ABOUT }, #else { N_("/Help/_About"), NULL, pidgin_dialogs_about, 0, "<Item>", NULL }, @@ -4820,7 +4820,7 @@ "visible", EMBLEM_VISIBLE_COLUMN, NULL); rend = gtk_cell_renderer_pixbuf_new(); - gtk_tree_view_column_pack_start(column, rend, FALSE); + gtk_tree_view_column_pack_start(column, rend, FALSE); gtk_tree_view_column_set_attributes(column, rend, "pixbuf", PROTOCOL_ICON_COLUMN, "visible", PROTOCOL_ICON_VISIBLE_COLUMN, @@ -5265,7 +5265,7 @@ group = (PurpleGroup*)gnode; textcolor = gtkblist->treeview->style->fg[GTK_STATE_ACTIVE]; - + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(gtkblist->treeview)), NULL, &iter)) { gtk_tree_model_get(GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &selected_node, -1); @@ -6319,9 +6319,13 @@ gtkblist->headline_callback = callback; gtkblist->headline_data = user_data; gtkblist->headline_destroy = destroy; - if (!GTK_WIDGET_HAS_FOCUS(gtkblist->window)) - pidgin_set_urgent(GTK_WINDOW(gtkblist->window), TRUE); - gtk_widget_show_all(gtkblist->headline_hbox); + if (text != NULL || pixbuf != NULL) { + if (!GTK_WIDGET_HAS_FOCUS(gtkblist->window)) + pidgin_set_urgent(GTK_WINDOW(gtkblist->window), TRUE); + gtk_widget_show_all(gtkblist->headline_hbox); + } else { + gtk_widget_hide(gtkblist->headline_hbox); + } } static PurpleBlistUiOps blist_ui_ops =
--- a/pidgin/gtkdialogs.c Fri Sep 21 02:11:29 2007 +0000 +++ b/pidgin/gtkdialogs.c Fri Sep 21 13:27:41 2007 +0000 @@ -286,6 +286,7 @@ about = NULL; } +#if 0 /* This function puts the version number onto the pixmap we use in the 'about' * screen in Pidgin. */ static void @@ -323,6 +324,7 @@ width, height); g_object_unref(G_OBJECT(pixmap)); } +#endif void pidgin_dialogs_about() { @@ -386,6 +388,9 @@ str = g_string_sized_new(4096); g_string_append_printf(str, + "<CENTER><FONT SIZE=\"4\"><B>%s %s</B></FONT></CENTER><BR><BR>", PIDGIN_NAME, VERSION); + + g_string_append_printf(str, _("%s is a graphical modular messaging client based on " "libpurple which is capable of connecting to " "AIM, MSN, Yahoo!, XMPP, ICQ, IRC, SILC, SIP/SIMPLE, "
--- a/pidgin/gtknotify.c Fri Sep 21 02:11:29 2007 +0000 +++ b/pidgin/gtknotify.c Fri Sep 21 13:27:41 2007 +0000 @@ -413,7 +413,7 @@ * count > 0 mean non-detailed. */ static void * -pidgin_notify_add_mail(GtkTreeStore *treemodel, PurpleAccount *account, char *notification, const char *url, int count) +pidgin_notify_add_mail(GtkTreeStore *treemodel, PurpleAccount *account, char *notification, const char *url, int count, gboolean clear) { PidginNotifyMailData *data = NULL; GtkTreeIter iter; @@ -422,20 +422,30 @@ icon = pidgin_create_prpl_icon(account, PIDGIN_PRPL_ICON_MEDIUM); - if (count > 0) { + if (count > 0 || clear) { /* Allow only one non-detailed email notification for each account */ if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(treemodel), &iter)) { + gboolean advanced; do { + advanced = FALSE; gtk_tree_model_get(GTK_TREE_MODEL(treemodel), &iter, PIDGIN_MAIL_DATA, &data, -1); - if (data->account == account && data->count > 0) { - new_n = FALSE; - g_free(data->url); - data->url = NULL; - mail_dialog->total_count -= data->count; - break; + if (data->account == account) { + if (clear) { + advanced = gtk_tree_store_remove(treemodel, &iter); + purple_notify_close(PURPLE_NOTIFY_EMAILS, data); + /* We're completely done if we've processed all entries */ + if (!advanced) + return NULL; + } else if (data->count > 0) { + new_n = FALSE; + g_free(data->url); + data->url = NULL; + mail_dialog->total_count -= data->count; + break; + } } - } while (gtk_tree_model_iter_next(GTK_TREE_MODEL(treemodel), &iter)); + } while (advanced || gtk_tree_model_iter_next(GTK_TREE_MODEL(treemodel), &iter)); } } @@ -472,9 +482,13 @@ PurpleAccount *account; PidginNotifyMailData *data = NULL; + /* Don't bother updating if there aren't new emails and we don't have any displayed currently */ + if (count == 0 && mail_dialog == NULL) + return NULL; + account = purple_connection_get_account(gc); dialog = pidgin_get_mail_dialog(); /* This creates mail_dialog if necessary */ - + mail_dialog->total_count += count; if (detailed) { while (count--) { @@ -512,31 +526,46 @@ g_free(from_text); g_free(subject_text); - data = pidgin_notify_add_mail(mail_dialog->treemodel, account, notification, urls ? *urls : NULL, 0); + data = pidgin_notify_add_mail(mail_dialog->treemodel, account, notification, urls ? *urls : NULL, 0, FALSE); g_free(notification); if (urls != NULL) urls++; } } else { - notification = g_strdup_printf(ngettext("%s has %d new message.", - "%s has %d new messages.", - (int)count), - *tos, (int)count); - data = pidgin_notify_add_mail(mail_dialog->treemodel, account, notification, urls ? *urls : NULL, count); - g_free(notification); + if (count > 0) { + notification = g_strdup_printf(ngettext("%s has %d new message.", + "%s has %d new messages.", + (int)count), + *tos, (int)count); + data = pidgin_notify_add_mail(mail_dialog->treemodel, account, notification, urls ? *urls : NULL, count, FALSE); + g_free(notification); + } else { + GtkTreeIter iter; + + /* Clear out all mails for the account */ + pidgin_notify_add_mail(mail_dialog->treemodel, account, NULL, NULL, 0, TRUE); + + if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(mail_dialog->treemodel), &iter)) { + /* There is no API to clear the headline specifically */ + /* This will trigger reset_mail_dialog() */ + pidgin_blist_set_headline(NULL, NULL, NULL, NULL, NULL); + } + + return NULL; + } } if (!GTK_WIDGET_VISIBLE(dialog)) { GdkPixbuf *pixbuf = gtk_widget_render_icon(dialog, PIDGIN_STOCK_DIALOG_MAIL, gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL), NULL); - char *label_text = g_strdup_printf(ngettext("<b>You have %d new e-mail.</b>", - "<b>You have %d new e-mails.</b>", + char *label_text = g_strdup_printf(ngettext("<b>%d new e-mail.</b>", + "<b>%d new e-mails.</b>", mail_dialog->total_count), mail_dialog->total_count); mail_dialog->in_use = TRUE; /* So that _set_headline doesn't accidentally remove the notifications when replacing an old notification. */ - pidgin_blist_set_headline(label_text, + pidgin_blist_set_headline(label_text, pixbuf, G_CALLBACK(gtk_widget_show_all), dialog, (GDestroyNotify)reset_mail_dialog); mail_dialog->in_use = FALSE;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/protocols/22/scalable/myspace.svg Fri Sep 21 13:27:41 2007 +0000 @@ -0,0 +1,114 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="24" + height="24" + id="svg2160" + sodipodi:version="0.32" + inkscape:version="0.45" + sodipodi:docname="myspace48.svg" + sodipodi:docbase="/home/hbons/Desktop" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + sodipodi:modified="true" + version="1.0"> + <defs + id="defs2162"> + <linearGradient + inkscape:collect="always" + id="linearGradient3147"> + <stop + style="stop-color:#eeeeec;stop-opacity:1;" + offset="0" + id="stop3149" /> + <stop + style="stop-color:#eeeeec;stop-opacity:0;" + offset="1" + id="stop3151" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3172"> + <stop + style="stop-color:#eeeeec;stop-opacity:1;" + offset="0" + id="stop3174" /> + <stop + style="stop-color:#eeeeec;stop-opacity:0;" + offset="1" + id="stop3176" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3172" + id="linearGradient3178" + x1="10.549266" + y1="5.125" + x2="52.810349" + y2="49.864979" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3147" + id="linearGradient3153" + x1="6.0203052" + y1="1.0398448" + x2="26.101271" + y2="25.83909" + gradientUnits="userSpaceOnUse" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="9.8994949" + inkscape:cx="31.349135" + inkscape:cy="11.3794" + inkscape:current-layer="layer1" + showgrid="true" + inkscape:grid-bbox="true" + inkscape:document-units="px" + inkscape:window-width="1440" + inkscape:window-height="847" + inkscape:window-x="3" + inkscape:window-y="25" + width="24px" + height="24px" /> + <metadata + id="metadata2165"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="Layer 1" + inkscape:groupmode="layer"> + <path + style="opacity:1;fill:#babdb6;fill-opacity:1;stroke:#888a85;stroke-width:1.00000012;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 17 1.5 C 15.068 1.5 13.5 3.0680001 13.5 5 C 13.5 6.932 15.068 8.5 17 8.5 C 18.932 8.5 20.499999 6.932 20.5 5 C 20.5 3.068 18.931999 1.4999999 17 1.5 z M 10.5 2.5 C 8.8439999 2.5 7.5000001 3.8439999 7.5 5.5 C 7.5 7.1559999 8.8439997 8.4999996 10.5 8.5 C 9.395701 8.5527352 8.4448563 9.5454035 7.875 10.4375 C 7.830859 8.7148111 7.161553 7.5791344 5.6875 7.5 C 6.7035586 7.4052513 7.5 6.5406823 7.5 5.5 C 7.5 4.396 6.604 3.5 5.5 3.5 C 4.396 3.5 3.4999999 4.396 3.5 5.5 C 3.5 6.5828941 4.3626534 7.4666427 5.4375 7.5 C 4.352857 7.6401732 3.5000005 8.6243123 3.5 9.875 L 3.5 14.53125 L 7.5625 14.53125 L 7.5625 18.53125 L 12.5 18.53125 L 12.5 22.5 L 21.5 22.5 C 21.499867 19.408873 21.5 16.303843 21.5 13.21875 C 21.5 10.634939 19.434134 8.53125 16.875 8.53125 C 15.587036 8.5312503 14.40291 9.424387 13.5625 10.28125 C 13.046577 9.1148819 11.916283 8.5 10.59375 8.5 C 12.205095 8.4489386 13.5 7.1236737 13.5 5.5 C 13.5 3.8440001 12.156 2.5 10.5 2.5 z " + id="path3149" /> + <path + sodipodi:type="inkscape:offset" + inkscape:radius="-1.00878" + inkscape:original="M 17 1.5 C 15.068 1.5 13.5 3.0680001 13.5 5 C 13.5 6.932 15.068 8.5 17 8.5 C 18.932 8.5 20.499999 6.932 20.5 5 C 20.5 3.068 18.931999 1.4999999 17 1.5 z M 10.5 2.5 C 8.8439999 2.5 7.5000001 3.8439999 7.5 5.5 C 7.5 7.1559999 8.8439997 8.4999996 10.5 8.5 C 9.395701 8.5527352 8.4448563 9.5454035 7.875 10.4375 C 7.830859 8.7148111 7.161553 7.5791344 5.6875 7.5 C 6.7035586 7.4052513 7.5 6.5406823 7.5 5.5 C 7.5 4.396 6.604 3.5 5.5 3.5 C 4.396 3.5 3.4999999 4.396 3.5 5.5 C 3.5 6.5828941 4.3626534 7.4666427 5.4375 7.5 C 4.352857 7.6401732 3.5000005 8.6243123 3.5 9.875 L 3.5 14.53125 L 7.5625 14.53125 L 7.5625 18.53125 L 12.5 18.53125 L 12.5 22.5 L 21.5 22.5 C 21.499867 19.408873 21.5 16.303843 21.5 13.21875 C 21.5 10.634939 19.434134 8.53125 16.875 8.53125 C 15.587036 8.5312503 14.40291 9.424387 13.5625 10.28125 C 13.046577 9.1148819 11.916283 8.5 10.59375 8.5 C 12.205095 8.4489386 13.5 7.1236737 13.5 5.5 C 13.5 3.8440001 12.156 2.5 10.5 2.5 z " + style="opacity:1;fill:url(#linearGradient3153);fill-opacity:1.0;stroke:#ffffff;stroke-width:1.00000012;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2174" + d="M 17,2.5 C 15.613813,2.5 14.5,3.6138135 14.5,5 C 14.5,6.3861867 15.613813,7.5 17,7.5 C 18.386187,7.5 19.499999,6.3861873 19.5,5 C 19.5,3.6138137 18.386185,2.4999999 17,2.5 z M 10.5,3.5 C 9.3898132,3.5 8.5000001,4.3898131 8.5,5.5 C 8.5,6.5997176 9.3733703,7.4835976 10.46875,7.5 C 10.499983,7.4985473 10.531267,7.4985473 10.5625,7.5 C 10.572807,7.4996734 10.583484,7.5004795 10.59375,7.5 C 11.655314,7.4504166 12.5,6.5769144 12.5,5.5 C 12.5,4.3898135 11.610187,3.5 10.5,3.5 z M 5.5,4.5 C 4.9418133,4.5 4.4999999,4.9418134 4.5,5.5 C 4.5,6.0471523 4.9293308,6.4832594 5.46875,6.5 C 5.4999831,6.4985473 5.5312669,6.4985473 5.5625,6.5 C 5.572916,6.4998387 5.583334,6.4998387 5.59375,6.5 C 6.0934659,6.4534009 6.5,6.0259981 6.5,5.5 C 6.5,4.9418133 6.0581867,4.5 5.5,4.5 z M 5.53125,8.5 C 4.98621,8.5848564 4.5000003,9.0959604 4.5,9.875 L 4.5,13.53125 L 7.5625,13.53125 C 8.1127746,13.536073 8.557677,13.980975 8.5625,14.53125 L 8.5625,17.53125 L 12.5,17.53125 C 13.050275,17.536073 13.495177,17.980975 13.5,18.53125 L 13.5,21.5 L 20.5,21.5 C 20.499928,18.739558 20.5,15.971417 20.5,13.21875 C 20.5,11.172647 18.881301,9.53125 16.875,9.53125 C 16.053394,9.5312502 15.035346,10.231141 14.28125,11 C 14.045303,11.244024 13.70246,11.353041 13.368907,11.290106 C 13.035354,11.227172 12.755806,11.000722 12.625,10.6875 C 12.280526,9.9087333 11.615906,9.5089368 10.625,9.5 C 10.614584,9.5001613 10.604166,9.5001613 10.59375,9.5 C 10.583334,9.5001613 10.572916,9.5001613 10.5625,9.5 C 10.033117,9.5252804 9.1973144,10.219569 8.71875,10.96875 C 8.4774641,11.327111 8.0347855,11.49207 7.6178253,11.378996 C 7.2008651,11.265922 6.9021772,10.899915 6.875,10.46875 C 6.8561284,9.7322475 6.6929787,9.2126452 6.5,8.9375 C 6.312535,8.6702161 6.1126513,8.5308317 5.65625,8.5 C 5.645834,8.5001613 5.635416,8.5001613 5.625,8.5 C 5.5937669,8.5014527 5.5624831,8.5014527 5.53125,8.5 L 5.53125,8.5 z " /> + </g> +</svg>
--- a/pidgin/pixmaps/status/16/scalable/available.svg Fri Sep 21 02:11:29 2007 +0000 +++ b/pidgin/pixmaps/status/16/scalable/available.svg Fri Sep 21 13:27:41 2007 +0000 @@ -13,13 +13,15 @@ height="16" id="svg2" sodipodi:version="0.32" - inkscape:version="0.44.1" + inkscape:version="0.45" version="1.0" 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/experiment/status/16/scalable" - sodipodi:docname="available.svg"> + sodipodi:docbase="/home/hbons/Desktop/2.1.1/status/16/scalable" + sodipodi:docname="available.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + sodipodi:modified="true"> <defs id="defs4"> <linearGradient @@ -246,7 +248,7 @@ inkscape:window-width="1274" inkscape:window-height="844" inkscape:window-x="3" - inkscape:window-y="0" /> + inkscape:window-y="25" /> <metadata id="metadata7"> <rdf:RDF> @@ -263,16 +265,6 @@ 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="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.173169,-20.73469,11.2083)" /> - <path 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 "
--- a/pidgin/pixmaps/status/16/scalable/away.svg Fri Sep 21 02:11:29 2007 +0000 +++ b/pidgin/pixmaps/status/16/scalable/away.svg Fri Sep 21 13:27:41 2007 +0000 @@ -13,13 +13,15 @@ height="16" id="svg2" sodipodi:version="0.32" - inkscape:version="0.44.1" + inkscape:version="0.45" 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/2.0.2/pidgin/pixmaps/status/16/scalable" - sodipodi:docname="away.svg"> + sodipodi:docbase="/home/hbons/Desktop/2.1.1/status/16/scalable" + sodipodi:docname="away.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + sodipodi:modified="true"> <defs id="defs4"> <linearGradient @@ -123,8 +125,8 @@ fill="#eeeeec" inkscape:window-width="1434" inkscape:window-height="840" - inkscape:window-x="0" - inkscape:window-y="0" + inkscape:window-x="3" + inkscape:window-y="25" inkscape:object-paths="false" inkscape:grid-bbox="true" inkscape:guide-bbox="false" @@ -145,16 +147,6 @@ 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(#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.173169,-20.73469,11.2083)" /> - <path sodipodi:type="arc" 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"
--- a/pidgin/pixmaps/status/16/scalable/busy.svg Fri Sep 21 02:11:29 2007 +0000 +++ b/pidgin/pixmaps/status/16/scalable/busy.svg Fri Sep 21 13:27:41 2007 +0000 @@ -13,13 +13,15 @@ height="16" id="svg2" sodipodi:version="0.32" - inkscape:version="0.44.1" + inkscape:version="0.45" 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/experiment/status/16/scalable" - sodipodi:docname="busy.svg"> + sodipodi:docbase="/home/hbons/Desktop/2.1.1/status/16/scalable" + sodipodi:docname="busy.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + sodipodi:modified="true"> <defs id="defs4"> <linearGradient @@ -192,8 +194,8 @@ fill="#eeeeec" inkscape:window-width="1268" inkscape:window-height="844" - inkscape:window-x="6" - inkscape:window-y="0" /> + inkscape:window-x="3" + inkscape:window-y="25" /> <metadata id="metadata7"> <rdf:RDF> @@ -210,16 +212,6 @@ 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="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.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" id="path1311"
--- a/pidgin/pixmaps/status/16/scalable/extended-away.svg Fri Sep 21 02:11:29 2007 +0000 +++ b/pidgin/pixmaps/status/16/scalable/extended-away.svg Fri Sep 21 13:27:41 2007 +0000 @@ -13,12 +13,14 @@ height="16px" id="svg4245" sodipodi:version="0.32" - inkscape:version="0.44.1" - sodipodi:docbase="/home/hbons/GUI/Tango/Gaim Refresh/status/16/scalable" + inkscape:version="0.45" + sodipodi:docbase="/home/hbons/Desktop/2.1.1/status/16/scalable" sodipodi:docname="extended-away.svg" inkscape:export-filename="/home/hbons/GUI/Tango/Gaim Refresh/status/16/extended-away.png" inkscape:export-xdpi="90" - inkscape:export-ydpi="90"> + inkscape:export-ydpi="90" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + sodipodi:modified="true"> <defs id="defs4247"> <linearGradient @@ -53,16 +55,16 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.197802" - inkscape:cx="8" - inkscape:cy="9.6246122" + inkscape:cx="14.39703" + inkscape:cy="8.273127" inkscape:current-layer="layer1" showgrid="true" inkscape:grid-bbox="true" inkscape:document-units="px" - inkscape:window-width="872" - inkscape:window-height="626" - inkscape:window-x="129" - inkscape:window-y="124" /> + inkscape:window-width="1440" + inkscape:window-height="847" + inkscape:window-x="0" + inkscape:window-y="22" /> <metadata id="metadata4250"> <rdf:RDF> @@ -79,27 +81,17 @@ inkscape:label="Layer 1" inkscape:groupmode="layer"> <path - sodipodi:type="arc" - style="fill:url(#radialGradient5300);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.81530744;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path5131" - 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,19.54667,-0.273206)" /> - <path - transform="matrix(-1.708738,0,0,1.647118,-1.878642,-0.867731)" style="fill:#fce94f;fill-opacity:1;stroke:#ce5c00;stroke-width:0.59607363;stroke-miterlimit:4;stroke-opacity:1" d="M -9,3.2233667 L -7.134588,1.4374993 L -2.89508,1.4374993 C -2.3096744,1.4374993 -1.9824877,1.8329068 -1.9824877,2.3263196 L -1.9824877,9.3300741 L -9,9.3300741 L -9,3.2233667 z " id="rect5097" - sodipodi:nodetypes="ccccccc" /> + sodipodi:nodetypes="ccccccc" + transform="matrix(-1.708738,0,0,1.647118,-1.878642,-0.867731)" /> <path - transform="matrix(-1.398059,0,0,1.342047,-8.253506e-2,0.574281)" style="opacity:0.5625;fill:none;fill-opacity:1;stroke:#eeeeec;stroke-width:0.7300511;stroke-miterlimit:4;stroke-opacity:1" d="M -8.9656284,3.1521999 L -7.1361003,1.4267646 L -1.8535964,1.4374993 L -1.8535964,9.6313422 L -9,9.6313422 L -8.9656284,3.1521999 z " id="rect5099" - sodipodi:nodetypes="cccccc" /> + sodipodi:nodetypes="cccccc" + transform="matrix(-1.398059,0,0,1.342047,-8.253506e-2,0.574281)" /> <rect style="opacity:0.4;fill:#ce5c00;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="rect5988"
--- a/pidgin/pixmaps/status/16/scalable/offline.svg Fri Sep 21 02:11:29 2007 +0000 +++ b/pidgin/pixmaps/status/16/scalable/offline.svg Fri Sep 21 13:27:41 2007 +0000 @@ -13,13 +13,15 @@ height="16" id="svg2" sodipodi:version="0.32" - inkscape:version="0.44.1" + inkscape:version="0.45" version="1.0" inkscape:export-filename="/home/hbons/Desktop/offline.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" - sodipodi:docbase="/home/hbons/Desktop/experiment/status/16/scalable" - sodipodi:docname="offline.svg"> + sodipodi:docbase="/home/hbons/Desktop/2.1.1/status/16/scalable" + sodipodi:docname="offline.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + sodipodi:modified="true"> <defs id="defs4"> <linearGradient @@ -168,8 +170,8 @@ fill="#eeeeec" inkscape:window-width="1434" inkscape:window-height="844" - inkscape:window-x="0" - inkscape:window-y="0" /> + inkscape:window-x="3" + inkscape:window-y="25" /> <metadata id="metadata7"> <rdf:RDF> @@ -186,16 +188,6 @@ 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: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 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 " id="path2187" />