You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(106) |
Oct
(334) |
Nov
(246) |
Dec
(145) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(42) |
Feb
(53) |
Mar
(232) |
Apr
(109) |
May
(137) |
Jun
(63) |
Jul
(26) |
Aug
(263) |
Sep
(193) |
Oct
(507) |
Nov
(440) |
Dec
(241) |
2003 |
Jan
(567) |
Feb
(195) |
Mar
(504) |
Apr
(481) |
May
(524) |
Jun
(522) |
Jul
(594) |
Aug
(502) |
Sep
(643) |
Oct
(508) |
Nov
(430) |
Dec
(377) |
2004 |
Jan
(361) |
Feb
(251) |
Mar
(219) |
Apr
(499) |
May
(461) |
Jun
(419) |
Jul
(314) |
Aug
(519) |
Sep
(416) |
Oct
(247) |
Nov
(305) |
Dec
(382) |
2005 |
Jan
(267) |
Feb
(282) |
Mar
(327) |
Apr
(338) |
May
(189) |
Jun
(400) |
Jul
(462) |
Aug
(530) |
Sep
(316) |
Oct
(523) |
Nov
(481) |
Dec
(650) |
2006 |
Jan
(536) |
Feb
(361) |
Mar
(287) |
Apr
(146) |
May
(101) |
Jun
(169) |
Jul
(221) |
Aug
(498) |
Sep
(300) |
Oct
(236) |
Nov
(209) |
Dec
(205) |
2007 |
Jan
(30) |
Feb
(23) |
Mar
(26) |
Apr
(15) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <rl...@us...> - 2006-11-19 19:14:55
|
Revision: 17783 http://svn.sourceforge.net/gaim/?rev=17783&view=rev Author: rlaager Date: 2006-11-19 11:14:48 -0800 (Sun, 19 Nov 2006) Log Message: ----------- SF Patch #1577602 from Konstantin Korikov - lostclus "This patch makes message text in gaim_request_action dialog selectable by user. This allows copy-and-paste operations." Modified Paths: -------------- trunk/COPYRIGHT trunk/gtk/gtkrequest.c Modified: trunk/COPYRIGHT =================================================================== --- trunk/COPYRIGHT 2006-11-19 17:24:56 UTC (rev 17782) +++ trunk/COPYRIGHT 2006-11-19 19:14:48 UTC (rev 17783) @@ -159,6 +159,7 @@ Praveen Karadakal John Kelm Akuke Kok +Konstantin Korikov Cole Kowalski Gary Kramlich Jan Kratochvil Modified: trunk/gtk/gtkrequest.c =================================================================== --- trunk/gtk/gtkrequest.c 2006-11-19 17:24:56 UTC (rev 17782) +++ trunk/gtk/gtkrequest.c 2006-11-19 19:14:48 UTC (rev 17783) @@ -626,6 +626,7 @@ gtk_label_set_markup(GTK_LABEL(label), label_text); gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); + gtk_label_set_selectable(GTK_LABEL(label), TRUE); gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0); g_free(label_text); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2006-11-19 17:25:11
|
Revision: 17782 http://svn.sourceforge.net/gaim/?rev=17782&view=rev Author: sadrul Date: 2006-11-19 09:24:56 -0800 (Sun, 19 Nov 2006) Log Message: ----------- Patch #1508458: "Improvements for per-account statusboxes" "If someone changes the status of an account using a per-account status-selector, and the current savedstatus is a transient savedstatus, then the changed status for the account is added as a substatus for the savedstatus. This is useful because a user can create a custom status using the per-account statusboxes in the buddy-list, and then using the 'New...' item from the global selectors, which will automatically populate the different statuses of all the accounts." Modified Paths: -------------- trunk/gtk/gtkstatusbox.c Modified: trunk/gtk/gtkstatusbox.c =================================================================== --- trunk/gtk/gtkstatusbox.c 2006-11-19 07:37:48 UTC (rev 17781) +++ trunk/gtk/gtkstatusbox.c 2006-11-19 17:24:56 UTC (rev 17782) @@ -1888,6 +1888,11 @@ else gaim_account_set_status(status_box->account, id, TRUE, NULL); + + saved_status = gaim_savedstatus_get_current(); + if (gaim_savedstatus_is_transient(saved_status)) + gaim_savedstatus_set_substatus(saved_status, status_box->account, + status_type, message); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rl...@us...> - 2006-11-19 07:37:49
|
Revision: 17781 http://svn.sourceforge.net/gaim/?rev=17781&view=rev Author: rlaager Date: 2006-11-18 23:37:48 -0800 (Sat, 18 Nov 2006) Log Message: ----------- SF Patch #1597271 from Ryan Barrett "this patch enables GTK menu accelerators in the account-specific and Enable Account submenus of the Accounts menu. other menus have the same code - for example, the plugin action menu in gaim_gtk_blist_update_plugin_actions(), right below the patched function - so i'm guessing it was just missing, and not an intentional design decision." Modified Paths: -------------- trunk/gtk/gtkblist.c Modified: trunk/gtk/gtkblist.c =================================================================== --- trunk/gtk/gtkblist.c 2006-11-19 07:02:33 UTC (rev 17780) +++ trunk/gtk/gtkblist.c 2006-11-19 07:37:48 UTC (rev 17781) @@ -5948,6 +5948,7 @@ gaim_gtk_blist_update_accounts_menu(void) { GtkWidget *menuitem = NULL, *submenu = NULL; + GtkAccelGroup *accel_group = NULL; GList *l = NULL, *accounts = NULL; gboolean disabled_accounts = FALSE; @@ -5964,6 +5965,7 @@ for (accounts = gaim_accounts_get_all(); accounts; accounts = accounts->next) { char *buf = NULL; + char *accel_path_buf = NULL; GtkWidget *image = NULL; GaimConnection *gc = NULL; GaimAccount *account = NULL; @@ -5971,11 +5973,13 @@ GdkPixbuf *pixbuf = NULL; account = accounts->data; + accel_group = gtk_menu_get_accel_group(GTK_MENU(accountmenu)); if(gaim_account_get_enabled(account, GAIM_GTK_UI)) { buf = g_strconcat(gaim_account_get_username(account), " (", gaim_account_get_protocol_name(account), ")", NULL); menuitem = gtk_image_menu_item_new_with_label(buf); + accel_path_buf = g_strconcat(N_("<GaimMain>/Accounts/"), buf, NULL); g_free(buf); status = gaim_account_get_active_status(account); pixbuf = gaim_gtk_create_prpl_icon_with_status(account, gaim_status_get_type(status), 0.5); @@ -5993,6 +5997,9 @@ gtk_widget_show(menuitem); submenu = gtk_menu_new(); + gtk_menu_set_accel_group(GTK_MENU(submenu), accel_group); + gtk_menu_set_accel_path(GTK_MENU(submenu), accel_path_buf); + g_free(accel_path_buf); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu); gtk_widget_show(submenu); @@ -6061,6 +6068,8 @@ gtk_widget_show(menuitem); submenu = gtk_menu_new(); + gtk_menu_set_accel_group(GTK_MENU(submenu), accel_group); + gtk_menu_set_accel_path(GTK_MENU(submenu), N_("<GaimMain>/Accounts/Enable Account")); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu); gtk_widget_show(submenu); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rl...@us...> - 2006-11-19 07:02:35
|
Revision: 17780 http://svn.sourceforge.net/gaim/?rev=17780&view=rev Author: rlaager Date: 2006-11-18 23:02:33 -0800 (Sat, 18 Nov 2006) Log Message: ----------- SF Patch #1595792 from Will Thompson (resiak) "Continuing my run of correcting typos, I'd never heard of libtgtkspell.so.0, so I thought I'd fix the FAQs." Modified Paths: -------------- web/htdocs/faq.txt web/htdocs/faq2.txt Modified: web/htdocs/faq.txt =================================================================== --- web/htdocs/faq.txt 2006-11-19 07:00:25 UTC (rev 17779) +++ web/htdocs/faq.txt 2006-11-19 07:02:33 UTC (rev 17780) @@ -33,7 +33,7 @@ Q: I'm trying to install Gaim, but it complains that I don't have <code>libgtkspell.so.0</code>, from where can I get this? -A: <code>libtgtkspell.so.0</code> is provided by gtkspell. This library is used by +A: <code>libgtkspell.so.0</code> is provided by gtkspell. This library is used by Gaim to provide the "Highlight misspelled words" feature. You can find an RPM of gtkspell at <a href="http://freshrpms.net/">freshrpms.net</a>. You can find the source and a non-Red Hat specific RPM at <a Modified: web/htdocs/faq2.txt =================================================================== --- web/htdocs/faq2.txt 2006-11-19 07:00:25 UTC (rev 17779) +++ web/htdocs/faq2.txt 2006-11-19 07:02:33 UTC (rev 17780) @@ -33,7 +33,7 @@ Q: I'm trying to install Gaim, but it complains that I don't have <code>libgtkspell.so.0</code>, from where can I get this? -A: <code>libtgtkspell.so.0</code> is provided by gtkspell. This library is used by +A: <code>libgtkspell.so.0</code> is provided by gtkspell. This library is used by Gaim to provide the "Highlight misspelled words" feature. You can find an RPM of gtkspell at <a href="http://freshrpms.net/">freshrpms.net</a>. You can find the source and a non-Red Hat specific RPM at <a This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rl...@us...> - 2006-11-19 07:00:27
|
Revision: 17779 http://svn.sourceforge.net/gaim/?rev=17779&view=rev Author: rlaager Date: 2006-11-18 23:00:25 -0800 (Sat, 18 Nov 2006) Log Message: ----------- I'm committing this to get it out of my tree... As mentioned on gaim-devel, this normalizes some stuff. Mark wants to standardize on "username" instead. For recognition purposes, I'd prefer that, but using "screen name" is potentially useful in that users might not enter their OS username. In any case, it's not a huge deal to me either way. I believe the consensus before was for "screen name", and barring a consensus to change, "screen name" is the status quo anyway, so I'm making things consistent. Modified Paths: -------------- trunk/libgaim/protocols/msn/error.c trunk/libgaim/protocols/novell/nmuser.c trunk/libgaim/protocols/simple/simple.c trunk/libgaim/protocols/toc/toc.c trunk/libgaim/protocols/yahoo/yahoo.c Modified: trunk/libgaim/protocols/msn/error.c =================================================================== --- trunk/libgaim/protocols/msn/error.c 2006-11-19 06:54:38 UTC (rev 17778) +++ trunk/libgaim/protocols/msn/error.c 2006-11-19 07:00:25 UTC (rev 17779) @@ -46,19 +46,19 @@ break; case 206: g_snprintf(msg, sizeof(msg), - _("Fully Qualified Domain Name missing")); + _("Fully qualified domain name missing")); break; case 207: - g_snprintf(msg, sizeof(msg), _("Already Logged In")); + g_snprintf(msg, sizeof(msg), _("Already logged in")); break; case 208: - g_snprintf(msg, sizeof(msg), _("Invalid Username")); + g_snprintf(msg, sizeof(msg), _("Invalid screen name")); break; case 209: - g_snprintf(msg, sizeof(msg), _("Invalid Friendly Name")); + g_snprintf(msg, sizeof(msg), _("Invalid friendly name")); break; case 210: - g_snprintf(msg, sizeof(msg), _("List Full")); + g_snprintf(msg, sizeof(msg), _("List full")); break; case 215: g_snprintf(msg, sizeof(msg), _("Already there")); @@ -99,7 +99,7 @@ g_snprintf(msg, sizeof(msg), _("Switchboard failed")); break; case 281: - g_snprintf(msg, sizeof(msg), _("Notify Transfer failed")); + g_snprintf(msg, sizeof(msg), _("Notify transfer failed")); break; case 300: @@ -113,7 +113,7 @@ break; case 500: - g_snprintf(msg, sizeof(msg), _("Service Temporarily Unavailable")); + g_snprintf(msg, sizeof(msg), _("Service temporarily unavailable")); break; case 501: g_snprintf(msg, sizeof(msg), _("Database server error")); @@ -138,7 +138,7 @@ g_snprintf(msg, sizeof(msg), _("Server unavailable")); break; case 602: - g_snprintf(msg, sizeof(msg), _("Peer Notification server down")); + g_snprintf(msg, sizeof(msg), _("Peer notification server down")); break; case 603: g_snprintf(msg, sizeof(msg), _("Database connect error")); Modified: trunk/libgaim/protocols/novell/nmuser.c =================================================================== --- trunk/libgaim/protocols/novell/nmuser.c 2006-11-19 06:54:38 UTC (rev 17778) +++ trunk/libgaim/protocols/novell/nmuser.c 2006-11-19 07:00:25 UTC (rev 17779) @@ -1906,7 +1906,7 @@ return _("Password has expired"); case NMERR_PASSWORD_INVALID: - return _("Invalid password"); + return _("Incorrect password"); case NMERR_USER_NOT_FOUND: return _("User not found"); @@ -1934,13 +1934,13 @@ case NMERR_AUTHENTICATION_FAILED: case NMERR_CREDENTIALS_MISSING: - return _("Invalid username or password"); + return _("Incorrect screen name or password"); case NMERR_HOST_NOT_FOUND: - return _("Could not recognize the host of the username you entered"); + return _("Could not recognize the host of the screen name you entered"); case NMERR_ACCESS_DENIED: - return _("Your account has been disabled because too many invalid passwords were entered"); + return _("Your account has been disabled because too many incorrect passwords were entered"); case NMERR_DUPLICATE_PARTICIPANT: return _("You cannot add the same person twice to a conversation"); @@ -1950,7 +1950,7 @@ return _("You have reached your limit for the number of contacts allowed"); case NMERR_OBJECT_NOT_FOUND: - return _("You have entered an invalid username"); + return _("You have entered an incorrect screen name"); case NMERR_DIRECTORY_UPDATE: return _("An error occurred while updating the directory"); Modified: trunk/libgaim/protocols/simple/simple.c =================================================================== --- trunk/libgaim/protocols/simple/simple.c 2006-11-19 06:54:38 UTC (rev 17778) +++ trunk/libgaim/protocols/simple/simple.c 2006-11-19 07:00:25 UTC (rev 17779) @@ -1644,7 +1644,7 @@ if (strpbrk(username, " \t\v\r\n") != NULL) { gc->wants_to_die = TRUE; - gaim_connection_error(gc, _("SIP usernames may not contain whitespaces or @ symbols")); + gaim_connection_error(gc, _("SIP screen names may not contain whitespaces or @ symbols")); return; } Modified: trunk/libgaim/protocols/toc/toc.c =================================================================== --- trunk/libgaim/protocols/toc/toc.c 2006-11-19 06:54:38 UTC (rev 17778) +++ trunk/libgaim/protocols/toc/toc.c 2006-11-19 07:00:25 UTC (rev 17779) @@ -546,7 +546,7 @@ g_snprintf(buf, sizeof(buf), _("Failure unknown: %s."), w); break; case 980: - g_snprintf(buf, sizeof(buf), _("Incorrect nickname or password.")); + g_snprintf(buf, sizeof(buf), _("Incorrect screen name or password.")); break; case 981: g_snprintf(buf, sizeof(buf), _("The service is temporarily unavailable.")); Modified: trunk/libgaim/protocols/yahoo/yahoo.c =================================================================== --- trunk/libgaim/protocols/yahoo/yahoo.c 2006-11-19 06:54:38 UTC (rev 17778) +++ trunk/libgaim/protocols/yahoo/yahoo.c 2006-11-19 07:00:25 UTC (rev 17779) @@ -1902,7 +1902,7 @@ switch (err) { case 3: - msg = g_strdup(_("Invalid username.")); + msg = g_strdup(_("Invalid screen name.")); break; case 13: if (!yd->wm) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rl...@us...> - 2006-11-19 06:54:41
|
Revision: 17778 http://svn.sourceforge.net/gaim/?rev=17778&view=rev Author: rlaager Date: 2006-11-18 22:54:38 -0800 (Sat, 18 Nov 2006) Log Message: ----------- SF Patch #1598994 from lexande Fixes SF Bug #1581999 Original Description: "The gaim 2.0.0beta5 log reader plugin uses the "Date" XML field in MSN logs, the format of which varies between locales, leading to logs being displayed on incorrect/future dates in locales that do not use the MM/DD/YYYY format. This patch fixes the plugin to use the "DateTime" field which has YYYY-MM-DD date in all locales." I totally Warmenhovened this patch. My approach: "I'm using the Date, Time, and DateTime fields. If I can determine that the log matches the current timezone, it'll display 100% properly in the log viewer. If it has a reasonable offset, it'll display as the original time, sort in the right place, but not have a timezone abbreviation. If the offset is bogus or I can't parse the Date or Time field, it'll display in UTC, but still sort properly. I think this is as ideal as is possible, given the data we have to work with." You don't have to understand this. ;) Modified Paths: -------------- trunk/libgaim/plugins/log_reader.c Modified: trunk/libgaim/plugins/log_reader.c =================================================================== --- trunk/libgaim/plugins/log_reader.c 2006-11-19 05:56:50 UTC (rev 17777) +++ trunk/libgaim/plugins/log_reader.c 2006-11-19 06:54:38 UTC (rev 17778) @@ -445,52 +445,174 @@ GString *text; }; -static time_t msn_logger_parse_timestamp(xmlnode *message) +/* This function is really confusing. It makes baby rlaager cry... + In other news: "You lost a lot of blood but we found most of it." + */ +static time_t msn_logger_parse_timestamp(xmlnode *message, struct tm **tm_out) { + const char *datetime; + static struct tm tm2; + time_t stamp; const char *date; const char *time; - struct tm tm; + int month; + int day; + int year; + int hour; + int min; + int sec; char am_pm; + char *str; + static struct tm tm; + time_t t; + time_t diff; - g_return_val_if_fail(message != NULL, (time_t)0); +#ifndef G_DISABLE_CHECKS + if (message != NULL) + { + *tm_out = NULL; - date = xmlnode_get_attrib(message, "Date"); - if (!(date && *date)) { - gaim_debug(GAIM_DEBUG_ERROR, "MSN log timestamp parse", - "Attribute missing: %s\n", "Date"); + /* Trigger the usual warning. */ + g_return_val_if_fail(message != NULL, (time_t)0); + } +#endif + + datetime = xmlnode_get_attrib(message, "DateTime"); + if (!(datetime && *datetime)) + { + gaim_debug_error("MSN log timestamp parse", + "Attribute missing: %s\n", "DateTime"); return (time_t)0; } + stamp = gaim_str_to_time(datetime, TRUE, &tm2, NULL, NULL); +#ifdef HAVE_TM_GMTOFF + tm2.tm_gmtoff = 0; +#endif +#ifdef HAVE_STRUCT_TM_TM_ZONE + /* This is used in the place of a timezone abbreviation if the + * offset is way off. The user should never really see it, but + * it's here just in case. The parens are to make it clear it's + * not a real timezone. */ + tm2.tm_zone = _("(UTC)"); +#endif + + + date = xmlnode_get_attrib(message, "Date"); + if (!(date && *date)) + { + gaim_debug_error("MSN log timestamp parse", + "Attribute missing: %s\n", "Date"); + *tm_out = &tm2; + return stamp; + } + time = xmlnode_get_attrib(message, "Time"); - if (!(time && *time)) { - gaim_debug(GAIM_DEBUG_ERROR, "MSN log timestamp parse", - "Attribute missing: %s\n", "Time"); - return (time_t)0; + if (!(time && *time)) + { + gaim_debug_error("MSN log timestamp parse", + "Attribute missing: %s\n", "Time"); + *tm_out = &tm2; + return stamp; } - if (sscanf(date, "%u/%u/%u", &tm.tm_mon, &tm.tm_mday, &tm.tm_year) != 3) - gaim_debug(GAIM_DEBUG_ERROR, "MSN log timestamp parse", - "%s parsing error\n", "Date"); + if (sscanf(date, "%u/%u/%u", &month, &day, &year) != 3) + { + gaim_debug_error("MSN log timestamp parse", + "%s parsing error\n", "Date"); + *tm_out = &tm2; + return stamp; + } + else + { + if (month > 12) + { + int tmp = day; + day = month; + month = tmp; + } + } - if (sscanf(time, "%u:%u:%u %c", &tm.tm_hour, &tm.tm_min, &tm.tm_sec, &am_pm) != 4) - gaim_debug(GAIM_DEBUG_ERROR, "MSN log timestamp parse", - "%s parsing error\n", "Time"); + if (sscanf(time, "%u:%u:%u %c", &hour, &min, &sec, &am_pm) != 4) + { + gaim_debug_error("MSN log timestamp parse", + "%s parsing error\n", "Time"); + *tm_out = &tm2; + return stamp; + } - tm.tm_year -= 1900; - tm.tm_mon -= 1; - if (am_pm == 'P') { - tm.tm_hour += 12; - } else if (tm.tm_hour == 12) { - /* 12 AM = 00 hr */ - tm.tm_hour = 0; + if (am_pm == 'P') { + hour += 12; + } else if (hour == 12) { + /* 12 AM = 00 hr */ + hour = 0; + } + + str = g_strdup_printf("%04i-%02i-%02iT%02i:%02i:%02i", year, month, day, hour, min, sec); + t = gaim_str_to_time(str, TRUE, &tm, NULL, NULL); + + + if (stamp > t) + diff = stamp - t; + else + diff = t - stamp; + + if (diff > (14 * 60 * 60)) + { + if (day <= 12) + { + /* Swap day & month variables, to see if it's a non-US date. */ + g_free(str); + str = g_strdup_printf("%04i-%02i-%02iT%02i:%02i:%02i", year, month, day, hour, min, sec); + t = gaim_str_to_time(str, TRUE, &tm, NULL, NULL); + + if (stamp > t) + diff = stamp - t; + else + diff = t - stamp; + + if (diff > (14 * 60 * 60)) + { + /* We got a time, it's not impossible, but + * the diff is too large. Display the UTC time. */ + g_free(str); + *tm_out = &tm2; + return stamp; + } + else + { + /* Legal time */ + /* Fall out */ + } + } + else + { + /* We got a time, it's not impossible, but + * the diff is too large. Display the UTC time. */ + g_free(str); + *tm_out = &tm2; + return stamp; + } } - /* Let the C library deal with daylight savings time. */ - tm.tm_isdst = -1; - return mktime(&tm); + /* If we got here, the time is legal with a reasonable offset. + * Let's find out if it's in our TZ. */ + if (gaim_str_to_time(str, FALSE, &tm, NULL, NULL) == stamp) + { + g_free(str); + *tm_out = &tm; + return stamp; + } + g_free(str); + + /* The time isn't in our TZ, but it's reasonable. */ +#ifdef HAVE_STRUCT_TM_TM_ZONE + tm.tm_zone = " "; +#endif + *tm_out = &tm; + return stamp; } - static GList *msn_logger_list(GaimLogType type, const char *sn, GaimAccount *account) { GList *list = NULL; @@ -725,6 +847,8 @@ * The session ID differs from the last message. * Thus, this is the start of a new conversation. */ + struct tm *tm; + time_t stamp; GaimLog *log; data = g_new0(struct msn_logger_data, 1); @@ -734,8 +858,9 @@ data->text = NULL; data->last_log = FALSE; - /* XXX: Look into this later... Should we pass in a struct tm? */ - log = gaim_log_new(GAIM_LOG_IM, sn, account, NULL, msn_logger_parse_timestamp(message), NULL); + stamp = msn_logger_parse_timestamp(message, &tm); + + log = gaim_log_new(GAIM_LOG_IM, sn, account, NULL, stamp, tm); log->logger = msn_logger; log->logger_data = data; @@ -792,7 +917,7 @@ enum name_guesses name_guessed = NAME_GUESS_UNKNOWN; const char *their_name; time_t time_unix; - struct tm *tm_new; + struct tm *tm; char *timestamp; char *tmp; const char *style; @@ -961,11 +1086,10 @@ text = g_string_append(text, ";\">"); } - time_unix = msn_logger_parse_timestamp(message); - tm_new = localtime(&time_unix); + time_unix = msn_logger_parse_timestamp(message, &tm); timestamp = g_strdup_printf("<font size=\"2\">(%02u:%02u:%02u)</font> ", - tm_new->tm_hour, tm_new->tm_min, tm_new->tm_sec); + tm->tm_hour, tm->tm_min, tm->tm_sec); text = g_string_append(text, timestamp); g_free(timestamp); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rl...@us...> - 2006-11-19 05:56:53
|
Revision: 17777 http://svn.sourceforge.net/gaim/?rev=17777&view=rev Author: rlaager Date: 2006-11-18 21:56:50 -0800 (Sat, 18 Nov 2006) Log Message: ----------- Refactor some duplicated code, and fix a case where that code hadn't been duplicated properly. Modified Paths: -------------- trunk/gtk/gtklog.c Modified: trunk/gtk/gtklog.c =================================================================== --- trunk/gtk/gtklog.c 2006-11-19 05:56:07 UTC (rev 17776) +++ trunk/gtk/gtklog.c 2006-11-19 05:56:50 UTC (rev 17777) @@ -106,6 +106,14 @@ gtk_tree_path_free(path); } +static const char *log_get_date(GaimLog *log) +{ + if (log->tm) + return gaim_date_format_full(log->tm); + else + return gaim_date_format_full(localtime(&log->time)); +} + static void search_cb(GtkWidget *button, GaimGtkLogViewer *lv) { const char *search_term = gtk_entry_get_text(GTK_ENTRY(lv->entry)); @@ -145,7 +153,7 @@ gtk_tree_store_append (lv->treestore, &iter, NULL); gtk_tree_store_set(lv->treestore, &iter, - 0, gaim_date_format_full(localtime(&log->time)), + 0, log_get_date(log), 1, log, -1); } g_free(read); @@ -217,14 +225,10 @@ char *title; if (log->type == GAIM_LOG_CHAT) title = g_strdup_printf(_("<span size='larger' weight='bold'>Conversation in %s on %s</span>"), - log->name, - log->tm ? gaim_date_format_full(log->tm) : - gaim_date_format_full(localtime(&log->time))); + log->name, log_get_date(log)); else title = g_strdup_printf(_("<span size='larger' weight='bold'>Conversation with %s on %s</span>"), - log->name, - log->tm ? gaim_date_format_full(log->tm) : - gaim_date_format_full(localtime(&log->time))); + log->name, log_get_date(log)); gtk_label_set_markup(GTK_LABEL(viewer->label), title); g_free(title); @@ -285,7 +289,7 @@ /* sub */ gtk_tree_store_append(lv->treestore, &child, &toplevel); gtk_tree_store_set(lv->treestore, &child, - 0, log->tm ? gaim_date_format_full(log->tm) : gaim_date_format_full(localtime(&log->time)), + 0, log_get_date(log), 1, log, -1); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rl...@us...> - 2006-11-19 05:56:08
|
Revision: 17776 http://svn.sourceforge.net/gaim/?rev=17776&view=rev Author: rlaager Date: 2006-11-18 21:56:07 -0800 (Sat, 18 Nov 2006) Log Message: ----------- Properly handle conversions of UTC timestamps when they are across the DST boundary from now. Modified Paths: -------------- trunk/libgaim/util.c Modified: trunk/libgaim/util.c =================================================================== --- trunk/libgaim/util.c 2006-11-18 05:53:07 UTC (rev 17775) +++ trunk/libgaim/util.c 2006-11-19 05:56:07 UTC (rev 17776) @@ -791,6 +791,10 @@ * if we know the UTC offset already. */ t->tm_isdst = 0; } + else if (utc) + { + t->tm_isdst = 0; + } if (rest != NULL && *c != '\0') { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rl...@us...> - 2006-11-18 05:53:07
|
Revision: 17775 http://svn.sourceforge.net/gaim/?rev=17775&view=rev Author: rlaager Date: 2006-11-17 21:53:07 -0800 (Fri, 17 Nov 2006) Log Message: ----------- SF Patch #1597292 from Eduardo P?\195?\169rez This allows you to use the buddy pounce editor when you're offline. Modified Paths: -------------- trunk/gtk/gtkblist.c trunk/gtk/gtkpounce.c Modified: trunk/gtk/gtkblist.c =================================================================== --- trunk/gtk/gtkblist.c 2006-11-18 05:30:57 UTC (rev 17774) +++ trunk/gtk/gtkblist.c 2006-11-18 05:53:07 UTC (rev 17775) @@ -3394,7 +3394,7 @@ gtk_widget_set_sensitive(widget, gaim_gtk_blist_joinchat_is_showable()); widget = gtk_item_factory_get_widget(gtkblist->ift, N_("/Tools/Buddy Pounces")); - gtk_widget_set_sensitive(widget, (gaim_connections_get_all() != NULL)); + gtk_widget_set_sensitive(widget, (gaim_accounts_get_all() != NULL)); widget = gtk_item_factory_get_widget(gtkblist->ift, N_("/Tools/Privacy")); gtk_widget_set_sensitive(widget, (gaim_connections_get_all() != NULL)); Modified: trunk/gtk/gtkpounce.c =================================================================== --- trunk/gtk/gtkpounce.c 2006-11-18 05:30:57 UTC (rev 17774) +++ trunk/gtk/gtkpounce.c 2006-11-18 05:53:07 UTC (rev 17775) @@ -182,9 +182,6 @@ account = gaim_pounce_get_pouncer(pounce); - if (gaim_account_is_disconnected(account)) - return; - events = gaim_pounce_get_events(pounce); pixbuf = gaim_gtk_create_prpl_icon(account, 0.5); @@ -462,8 +459,9 @@ GPtrArray *sound_widgets; GPtrArray *exec_widgets; - g_return_if_fail((cur_pounce != NULL) || (account != NULL) || - (gaim_connections_get_all() != NULL)); + g_return_if_fail((cur_pounce != NULL) || + (account != NULL) || + (gaim_accounts_get_all() != NULL)); dialog = g_new0(GaimGtkPounceDialog, 1); @@ -479,12 +477,18 @@ } else { + GList *connections = gaim_connections_get_all(); GaimConnection *gc; - gc = (GaimConnection *)gaim_connections_get_all()->data; + if (connections != NULL) + { + gc = (GaimConnection *)connections->data; + dialog->account = gaim_connection_get_account(gc); + } + else + dialog->account = gaim_accounts_get_all()->data; dialog->pounce = NULL; - dialog->account = gaim_connection_get_account(gc); } sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); @@ -527,7 +531,7 @@ gtk_size_group_add_widget(sg, label); dialog->account_menu = - gaim_gtk_account_option_menu_new(dialog->account, FALSE, + gaim_gtk_account_option_menu_new(dialog->account, TRUE, G_CALLBACK(pounce_choose_cb), NULL, dialog); @@ -1339,7 +1343,7 @@ /* Add button */ button = gtk_button_new_from_stock(GTK_STOCK_ADD); gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0); - gtk_widget_set_sensitive(button, (gaim_connections_get_all() != NULL)); + gtk_widget_set_sensitive(button, (gaim_accounts_get_all() != NULL)); gaim_signal_connect(gaim_connections_get_handle(), "signed-on", pounces_manager, GAIM_CALLBACK(pounces_manager_connection_cb), button); gaim_signal_connect(gaim_connections_get_handle(), "signed-off", This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2006-11-18 05:30:58
|
Revision: 17774 http://svn.sourceforge.net/gaim/?rev=17774&view=rev Author: sadrul Date: 2006-11-17 21:30:57 -0800 (Fri, 17 Nov 2006) Log Message: ----------- The data for "plugin_action" is set with a destructor function. So freeing it twice would cause a crash. The reason it's not crashing is, the children of the container are not the menuitems, but GtkAccelLabel (or some such thing). So all we are doing is freeing null. Also, when the menu is destroyed, all the menuitems are also destroyed anyway. So get rid of the unrequired loop. Also, isdigit expects a character, not a string. Modified Paths: -------------- trunk/gtk/gtkblist.c trunk/gtk/gtkmain.c Modified: trunk/gtk/gtkblist.c =================================================================== --- trunk/gtk/gtkblist.c 2006-11-18 05:25:31 UTC (rev 17773) +++ trunk/gtk/gtkblist.c 2006-11-18 05:30:57 UTC (rev 17774) @@ -6115,20 +6115,7 @@ /* Remove old plugin action submenus from the Tools menu */ for (l = plugin_submenus; l; l = l->next) - { - GList *menuitems; - - submenu = l->data; - - while ((menuitems = gtk_container_get_children(GTK_CONTAINER(submenu))) != NULL) - { - menuitem = menuitems->data; - g_free(g_object_get_data(G_OBJECT(menuitem), "plugin_action")); - gtk_widget_destroy(menuitem); - } - - gtk_widget_destroy(GTK_WIDGET(submenu)); - } + gtk_widget_destroy(GTK_WIDGET(l->data)); g_list_free(plugin_submenus); plugin_submenus = NULL; Modified: trunk/gtk/gtkmain.c =================================================================== --- trunk/gtk/gtkmain.c 2006-11-18 05:25:31 UTC (rev 17773) +++ trunk/gtk/gtkmain.c 2006-11-18 05:30:57 UTC (rev 17774) @@ -735,7 +735,7 @@ for (accounts = gaim_accounts_get_all(); accounts != NULL; accounts = accounts->next) { GaimAccount *account = accounts->data; if (!strcmp(gaim_account_get_protocol_id(account), "prpl-oscar")) { - if (isdigit(gaim_account_get_username(account))) + if (isdigit(*gaim_account_get_username(account))) gaim_account_set_protocol_id(account, "prpl-icq"); else gaim_account_set_protocol_id(account, "prpl-aim"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rl...@us...> - 2006-11-18 05:25:33
|
Revision: 17773 http://svn.sourceforge.net/gaim/?rev=17773&view=rev Author: rlaager Date: 2006-11-17 21:25:31 -0800 (Fri, 17 Nov 2006) Log Message: ----------- Fixes Debian Bug #398969 Properly handle the following cases: xmpp:... URLs without the // xmpp URLs with no account xmpp URLs with no command Modified Paths: -------------- trunk/libgaim/gaim-url-handler Modified: trunk/libgaim/gaim-url-handler =================================================================== --- trunk/libgaim/gaim-url-handler 2006-11-18 04:03:48 UTC (rev 17772) +++ trunk/libgaim/gaim-url-handler 2006-11-18 05:25:31 UTC (rev 17773) @@ -189,15 +189,26 @@ def xmpp(uri): protocol = "prpl-jabber" - match = re.match(r"^xmpp:(//([^/?#]*))?(/?([^?#]*))(\?([^;#]*)(;([^#]*))?)?(#(.*))?", uri) + match = re.match(r"^xmpp:((//)?([^/?#]*))?(/?([^?#]*))(\?([^;#]*)(;([^#]*))?)?(#(.*))?", uri) if not match: print "Invalid xmpp URI: %s" % uri return - accountname = urllib.unquote_plus(match.group(2)) or "" - screenname = urllib.unquote_plus(match.group(4)) - command = urllib.unquote_plus(match.group(6)) - paramstring = match.group(8) + tmp = match.group(3) + if (tmp): + accountname = urllib.unquote_plus(tmp) + else: + accountname = "" + + screenname = urllib.unquote_plus(match.group(5)) + + tmp = match.group(7) + if (tmp): + command = urllib.unquote_plus(tmp) + else: + command = "" + + paramstring = match.group(9) params = {} if paramstring: for param in paramstring.split(";"): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <amc...@us...> - 2006-11-18 04:03:49
|
Revision: 17772 http://svn.sourceforge.net/gaim/?rev=17772&view=rev Author: amc_grim Date: 2006-11-17 20:03:48 -0800 (Fri, 17 Nov 2006) Log Message: ----------- A bit of long overdue work on this. There is no functional changes here, just getting started on this again :) Modified Paths: -------------- trunk/libgaim/plugins/mono/api/Buddy.cs trunk/libgaim/plugins/mono/api/BuddyList.cs trunk/libgaim/plugins/mono/api/GaimPlugin.cs trunk/libgaim/plugins/mono/api/Makefile.am Added Paths: ----------- trunk/libgaim/plugins/mono/api/BlistNode.cs trunk/libgaim/plugins/mono/api/Contact.cs trunk/libgaim/plugins/mono/api/Group.cs Property Changed: ---------------- trunk/libgaim/plugins/mono/api/Buddy.cs trunk/libgaim/plugins/mono/api/BuddyList.cs trunk/libgaim/plugins/mono/api/Debug.cs trunk/libgaim/plugins/mono/api/Event.cs trunk/libgaim/plugins/mono/api/GaimPlugin.cs trunk/libgaim/plugins/mono/api/Signal.cs trunk/libgaim/plugins/mono/api/Status.cs Added: trunk/libgaim/plugins/mono/api/BlistNode.cs =================================================================== --- trunk/libgaim/plugins/mono/api/BlistNode.cs (rev 0) +++ trunk/libgaim/plugins/mono/api/BlistNode.cs 2006-11-18 04:03:48 UTC (rev 17772) @@ -0,0 +1,4 @@ +namespace Gaim { + public abstract class BlistNode { + } +} Property changes on: trunk/libgaim/plugins/mono/api/BlistNode.cs ___________________________________________________________________ Name: svn:mime-type + text/x-csharp Name: svn:eol-style + native Modified: trunk/libgaim/plugins/mono/api/Buddy.cs =================================================================== --- trunk/libgaim/plugins/mono/api/Buddy.cs 2006-11-17 21:54:46 UTC (rev 17771) +++ trunk/libgaim/plugins/mono/api/Buddy.cs 2006-11-18 04:03:48 UTC (rev 17772) @@ -1,10 +1,8 @@ -namespace Gaim -{ - public class Buddy - { +namespace Gaim { + public class Buddy : BlistNode { private string name; private string alias; - + public string Name { get { return name; } set { name = value; } } public string Alias { get { return alias; } set { alias = value; } } } Property changes on: trunk/libgaim/plugins/mono/api/Buddy.cs ___________________________________________________________________ Name: svn:mime-type - text/plain + text/x-csharp Modified: trunk/libgaim/plugins/mono/api/BuddyList.cs =================================================================== --- trunk/libgaim/plugins/mono/api/BuddyList.cs 2006-11-17 21:54:46 UTC (rev 17771) +++ trunk/libgaim/plugins/mono/api/BuddyList.cs 2006-11-18 04:03:48 UTC (rev 17772) @@ -1,16 +1,15 @@ -using System; -using System.Runtime.CompilerServices; +namespace Gaim { + using System; + using System.Runtime.CompilerServices; -namespace Gaim -{ - public class BuddyList - { + public class BuddyList { [MethodImplAttribute(MethodImplOptions.InternalCall)] extern private static IntPtr _get_handle(); private static IntPtr handle = _get_handle(); - public static Event OnBuddyStatusChanged = new Event(handle, "buddy-status-changed"); + public static Event OnBuddyStatusChanged = + new Event(handle, "buddy-status-changed"); public static IntPtr GetHandle() { Property changes on: trunk/libgaim/plugins/mono/api/BuddyList.cs ___________________________________________________________________ Name: svn:mime-type - text/plain + text/x-csharp Added: trunk/libgaim/plugins/mono/api/Contact.cs =================================================================== --- trunk/libgaim/plugins/mono/api/Contact.cs (rev 0) +++ trunk/libgaim/plugins/mono/api/Contact.cs 2006-11-18 04:03:48 UTC (rev 17772) @@ -0,0 +1,4 @@ +namespace Gaim { + public class Contact : BlistNode { + } +} Property changes on: trunk/libgaim/plugins/mono/api/Contact.cs ___________________________________________________________________ Name: svn:mime-type + text/x-csharp Name: svn:eol-style + native Property changes on: trunk/libgaim/plugins/mono/api/Debug.cs ___________________________________________________________________ Name: svn:mime-type - text/plain + text/x-csharp Property changes on: trunk/libgaim/plugins/mono/api/Event.cs ___________________________________________________________________ Name: svn:mime-type - text/plain + text/x-csharp Modified: trunk/libgaim/plugins/mono/api/GaimPlugin.cs =================================================================== --- trunk/libgaim/plugins/mono/api/GaimPlugin.cs 2006-11-17 21:54:46 UTC (rev 17771) +++ trunk/libgaim/plugins/mono/api/GaimPlugin.cs 2006-11-18 04:03:48 UTC (rev 17772) @@ -1,7 +1,5 @@ -namespace Gaim -{ - public class GaimPluginInfo - { +namespace Gaim { + public class PluginInfo { private string name; private string version; private string summary; @@ -9,7 +7,8 @@ private string author; private string homepage; - public GaimPluginInfo(string name, string version, string summary, string description, string author, string homepage) + public PluginInfo(string name, string version, string summary, + string description, string author, string homepage) { this.name = name; this.version = version; @@ -18,21 +17,45 @@ this.author = author; this.homepage = homepage; } - - public string Name { get { return name; } } - public string Version { get { return version; } } - public string Summary { get { return summary; } } - public string Description { get { return description; } } - public string Author { get { return author; } } - public string Homepage { get { return homepage; } } + + public string Name { + get { return name; } + } + + public string Version { + get { return version; } + } + + public string Summary { + get { return summary; } + } + + public string Description { + get { return description; } + } + + public string Author { + get { return author; } + } + + public string Homepage { + get { return homepage; } + } } - abstract public class GaimPlugin - { + abstract public class Plugin { + private PluginInfo info; + + public Plugin(PluginInfo info) { + this.info = info; + } + public abstract void Load(); public abstract void Unload(); public abstract void Destroy(); - - public abstract GaimPluginInfo Info(); + + public PluginInfo Info { + get { return info; } + } } } Property changes on: trunk/libgaim/plugins/mono/api/GaimPlugin.cs ___________________________________________________________________ Name: svn:mime-type - text/plain + text/x-csharp Added: trunk/libgaim/plugins/mono/api/Group.cs =================================================================== --- trunk/libgaim/plugins/mono/api/Group.cs (rev 0) +++ trunk/libgaim/plugins/mono/api/Group.cs 2006-11-18 04:03:48 UTC (rev 17772) @@ -0,0 +1,4 @@ +namespace Gaim { + public class Group : BlistNode { + } +} Property changes on: trunk/libgaim/plugins/mono/api/Group.cs ___________________________________________________________________ Name: svn:mime-type + text/x-csharp Name: svn:eol-style + native Modified: trunk/libgaim/plugins/mono/api/Makefile.am =================================================================== --- trunk/libgaim/plugins/mono/api/Makefile.am 2006-11-17 21:54:46 UTC (rev 17771) +++ trunk/libgaim/plugins/mono/api/Makefile.am 2006-11-18 04:03:48 UTC (rev 17772) @@ -1,11 +1,14 @@ monodir=$(libdir)/gaim mono_sources = \ - GaimPlugin.cs \ - Debug.cs \ + BlistNode.cs \ BuddyList.cs \ Buddy.cs \ + Contact.cs \ + Debug.cs \ + Event.cs \ + GaimPlugin.cs \ + Group.cs \ Signal.cs \ - Event.cs \ Status.cs EXTRA_DIST = $(mono_sources) Property changes on: trunk/libgaim/plugins/mono/api/Signal.cs ___________________________________________________________________ Name: svn:mime-type - text/plain + text/x-csharp Property changes on: trunk/libgaim/plugins/mono/api/Status.cs ___________________________________________________________________ Name: svn:mime-type - text/plain + text/x-csharp This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sea...@us...> - 2006-11-17 21:54:47
|
Revision: 17771 http://svn.sourceforge.net/gaim/?rev=17771&view=rev Author: seanegan Date: 2006-11-17 13:54:46 -0800 (Fri, 17 Nov 2006) Log Message: ----------- warning fix Modified Paths: -------------- trunk/gtk/gtkaccount.c Modified: trunk/gtk/gtkaccount.c =================================================================== --- trunk/gtk/gtkaccount.c 2006-11-17 21:03:44 UTC (rev 17770) +++ trunk/gtk/gtkaccount.c 2006-11-17 21:54:46 UTC (rev 17771) @@ -2059,7 +2059,6 @@ GtkWidget *sw; GtkWidget *label; GtkWidget *treeview; - GdkColor color; GtkTreeSelection *sel; GtkTargetEntry gte[] = {{"GAIM_ACCOUNT", GTK_TARGET_SAME_APP, 0}}; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sea...@us...> - 2006-11-17 21:07:37
|
Revision: 17770 http://svn.sourceforge.net/gaim/?rev=17770&view=rev Author: seanegan Date: 2006-11-17 13:03:44 -0800 (Fri, 17 Nov 2006) Log Message: ----------- gaim-devel suggested a 'wizard' of sorts for first-time users. This is as wizardish as I'm willing to get :) Modified Paths: -------------- trunk/gtk/gtkaccount.c Modified: trunk/gtk/gtkaccount.c =================================================================== --- trunk/gtk/gtkaccount.c 2006-11-17 19:39:17 UTC (rev 17769) +++ trunk/gtk/gtkaccount.c 2006-11-17 21:03:44 UTC (rev 17770) @@ -72,6 +72,7 @@ GtkWidget *modify_button; GtkWidget *delete_button; + GtkWidget *notebook; GtkListStore *model; GtkTreeIter drag_iter; @@ -1601,6 +1602,9 @@ /* Remove the account from the GtkListStore */ if (accounts_window_find_account_in_treemodel(&iter, account)) gtk_list_store_remove(accounts_window->model, &iter); + + if (gaim_accounts_get_all() == NULL) + gtk_notebook_set_current_page(GTK_NOTEBOOK(accounts_window->notebook), 0); } static void @@ -1969,19 +1973,25 @@ return; gtk_list_store_append(accounts_window->model, &iter); + gtk_notebook_set_current_page(GTK_NOTEBOOK(accounts_window->notebook),1); set_account(accounts_window->model, &iter, account); } -static void +static gboolean populate_accounts_list(AccountsWindow *dialog) { GList *l; - + gboolean ret = FALSE; + gtk_list_store_clear(dialog->model); - for (l = gaim_accounts_get_all(); l != NULL; l = l->next) + for (l = gaim_accounts_get_all(); l != NULL; l = l->next) { + ret = TRUE; add_account_to_liststore((GaimAccount *)l->data, NULL); + } + + return ret; } #if !GTK_CHECK_VERSION(2,2,0) @@ -2045,18 +2055,50 @@ static GtkWidget * create_accounts_list(AccountsWindow *dialog) { + GtkWidget *frame; GtkWidget *sw; + GtkWidget *label; GtkWidget *treeview; + GdkColor color; GtkTreeSelection *sel; GtkTargetEntry gte[] = {{"GAIM_ACCOUNT", GTK_TARGET_SAME_APP, 0}}; + frame = gtk_frame_new(NULL); + gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); + + accounts_window->notebook = gtk_notebook_new(); + gtk_notebook_set_show_tabs(GTK_NOTEBOOK(accounts_window->notebook), FALSE); + gtk_notebook_set_show_border(GTK_NOTEBOOK(accounts_window->notebook), FALSE); + gtk_container_add(GTK_CONTAINER(frame), accounts_window->notebook); + + + /* Create a helpful first-time-use label */ + label = gtk_label_new(NULL); + gtk_label_set_markup(GTK_LABEL(label), _( + "<span size='larger' weight='bold'>Welcome to Gaim!</span>\n\n" + + "You have no IM accounts configured. To start connecting with Gaim " + "press the <b>Add</b> button below and configure your first " + "account. If you want Gaim to connect to multiple IM accounts, " + "press <b>Add</b> again to configure them all.\n\n" + + "You can come back to this window to add, edit, or remove " + "accounts from <b>Accounts \342\207\250 Add/Edit</b> in the Buddy " + "List window")); + gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); + gtk_widget_show(label); + + gtk_misc_set_alignment(GTK_MISC(label), 0.5, 0.5); + gtk_notebook_append_page(GTK_NOTEBOOK(accounts_window->notebook), label, NULL); + /* Create the scrolled window. */ sw = gtk_scrolled_window_new(0, 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), - GTK_SHADOW_IN); + GTK_SHADOW_NONE); + gtk_notebook_append_page(GTK_NOTEBOOK(accounts_window->notebook), sw, NULL); gtk_widget_show(sw); /* Create the list model. */ @@ -2084,11 +2126,13 @@ G_CALLBACK(account_treeview_double_click_cb), dialog); gtk_container_add(GTK_CONTAINER(sw), treeview); - gtk_widget_show(treeview); add_columns(treeview, dialog); - populate_accounts_list(dialog); + if (populate_accounts_list(dialog)) + gtk_notebook_set_current_page(GTK_NOTEBOOK(accounts_window->notebook), 1); + else + gtk_notebook_set_current_page(GTK_NOTEBOOK(accounts_window->notebook), 0); /* Setup DND. I wanna be an orc! */ gtk_tree_view_enable_model_drag_source( @@ -2102,8 +2146,9 @@ G_CALLBACK(drag_data_received_cb), dialog); g_signal_connect(G_OBJECT(treeview), "drag-data-get", G_CALLBACK(drag_data_get_cb), dialog); - - return sw; + + gtk_widget_show_all(frame); + return frame; } static void This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sea...@us...> - 2006-11-17 19:39:17
|
Revision: 17769 http://svn.sourceforge.net/gaim/?rev=17769&view=rev Author: seanegan Date: 2006-11-17 11:39:17 -0800 (Fri, 17 Nov 2006) Log Message: ----------- Change oscar-to-aim-and-icq hack. This does the renaming gtkgaim, after everything's initialized (so it fixes broken Persons and pounces and savedstatuses, but it introduces a hack in gaim_account_get_protocol_id(), since some initialization requires the protocol id to match the plugin. I don't really like this, but it's the best workaround I could think of. Hopefully we can remove this after not-long. Modified Paths: -------------- trunk/gtk/gtkmain.c trunk/libgaim/account.c Modified: trunk/gtk/gtkmain.c =================================================================== --- trunk/gtk/gtkmain.c 2006-11-17 19:27:58 UTC (rev 17768) +++ trunk/gtk/gtkmain.c 2006-11-17 19:39:17 UTC (rev 17769) @@ -726,6 +726,22 @@ /* TODO: Move pounces loading into gaim_pounces_init() */ gaim_pounces_load(); + + /* HACK BY SEANEGAN: + * We've renamed prpl-oscar to prpl-aim and prpl-icq, accordingly. + * Let's do that change right here... after everything's loaded, but + * before anything has happened + */ + for (accounts = gaim_accounts_get_all(); accounts != NULL; accounts = accounts->next) { + GaimAccount *account = accounts->data; + if (!strcmp(gaim_account_get_protocol_id(account), "prpl-oscar")) { + if (isdigit(gaim_account_get_username(account))) + gaim_account_set_protocol_id(account, "prpl-icq"); + else + gaim_account_set_protocol_id(account, "prpl-aim"); + } + } + ui_main(); #ifdef USE_SM Modified: trunk/libgaim/account.c =================================================================== --- trunk/libgaim/account.c 2006-11-17 19:27:58 UTC (rev 17768) +++ trunk/libgaim/account.c 2006-11-17 19:39:17 UTC (rev 17769) @@ -697,19 +697,6 @@ return NULL; } - - /* HACK BY SEANEGAN: special case prpl-oscar to either prpl-icq - * prpl-aim for users upgrading to 2.0.0. This can probably - * be removed after a while - */ - if (!strcmp(protocol_id, "prpl-oscar")) { - g_free(protocol_id); - if (isdigit(name[0])) - protocol_id = g_strdup("prpl-icq"); - else - protocol_id = g_strdup("prpl-aim"); - } - ret = gaim_account_new(name, protocol_id); g_free(name); g_free(protocol_id); @@ -1663,7 +1650,15 @@ gaim_account_get_protocol_id(const GaimAccount *account) { g_return_val_if_fail(account != NULL, NULL); - + /* + * HACK by Seanegan + */ + if (!strcmp(account->protocol_id, "prpl-oscar")) { + if (isdigit(account->username[0])) + return "prpl-icq"; + else + return "prpl-aim"; + } return account->protocol_id; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dat...@us...> - 2006-11-17 19:28:04
|
Revision: 17768 http://svn.sourceforge.net/gaim/?rev=17768&view=rev Author: datallah Date: 2006-11-17 11:27:58 -0800 (Fri, 17 Nov 2006) Log Message: ----------- some more situations where gtk_widget_destroy() should be used instead of gtk_container_remove() Modified Paths: -------------- trunk/gtk/gtkblist.c Modified: trunk/gtk/gtkblist.c =================================================================== --- trunk/gtk/gtkblist.c 2006-11-17 06:12:17 UTC (rev 17767) +++ trunk/gtk/gtkblist.c 2006-11-17 19:27:58 UTC (rev 17768) @@ -560,7 +560,7 @@ rebuild_joinchat_entries(GaimGtkJoinChatData *data) { GaimConnection *gc; - GList *list = NULL, *tmp = NULL; + GList *list = NULL, *tmp; GHashTable *defaults = NULL; struct proto_chat_entry *pce; gboolean focus = TRUE; @@ -569,11 +569,8 @@ gc = gaim_account_get_connection(data->account); - while (GTK_BOX(data->entries_box)->children) - { - gtk_container_remove(GTK_CONTAINER(data->entries_box), - ((GtkBoxChild *)GTK_BOX(data->entries_box)->children->data)->widget); - } + while ((tmp = gtk_container_get_children(GTK_CONTAINER(data->entries_box)))) + gtk_widget_destroy(tmp->data); g_list_free(data->entries); data->entries = NULL; @@ -5111,7 +5108,7 @@ rebuild_addchat_entries(GaimGtkAddChatData *data) { GaimConnection *gc; - GList *list = NULL, *tmp = NULL; + GList *list = NULL, *tmp; GHashTable *defaults = NULL; struct proto_chat_entry *pce; gboolean focus = TRUE; @@ -5120,11 +5117,8 @@ gc = gaim_account_get_connection(data->account); - while (GTK_BOX(data->entries_box)->children) - { - gtk_container_remove(GTK_CONTAINER(data->entries_box), - ((GtkBoxChild *)GTK_BOX(data->entries_box)->children->data)->widget); - } + while ((tmp = gtk_container_get_children(GTK_CONTAINER(data->entries_box)))) + gtk_widget_destroy(tmp->data); g_list_free(data->entries); @@ -6126,17 +6120,14 @@ submenu = l->data; - menuitems = gtk_container_get_children(GTK_CONTAINER(submenu)); - while (menuitems != NULL) + while ((menuitems = gtk_container_get_children(GTK_CONTAINER(submenu))) != NULL) { - GaimPluginAction *action; menuitem = menuitems->data; - action = g_object_get_data(G_OBJECT(menuitem), "plugin_action"); - g_free(action); - menuitems = g_list_delete_link(menuitems, menuitems); + g_free(g_object_get_data(G_OBJECT(menuitem), "plugin_action")); + gtk_widget_destroy(menuitem); } - gtk_container_remove(GTK_CONTAINER(pluginmenu), GTK_WIDGET(submenu)); + gtk_widget_destroy(GTK_WIDGET(submenu)); } g_list_free(plugin_submenus); plugin_submenus = NULL; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dat...@us...> - 2006-11-17 06:12:17
|
Revision: 17767 http://svn.sourceforge.net/gaim/?rev=17767&view=rev Author: datallah Date: 2006-11-16 22:12:17 -0800 (Thu, 16 Nov 2006) Log Message: ----------- Ari Pollak traced down a memory leak to the account menuitems not being cleaned up by gtk_container_remove(). It turns out that there is an additional reference somewhere which is preventing the menuitem from being destroyed - deryni tracked it down to gtk_accel_label_set_accel_widget() in gtk_image_menu_item_new_with_label() - we will be reporting the bug to the GTK folks tomorrow. This fixes the leakage; gtk_widget_destroy() is what really should be used in this situation anyway. Modified Paths: -------------- trunk/gtk/gtkblist.c Modified: trunk/gtk/gtkblist.c =================================================================== --- trunk/gtk/gtkblist.c 2006-11-17 04:31:21 UTC (rev 17766) +++ trunk/gtk/gtkblist.c 2006-11-17 06:12:17 UTC (rev 17767) @@ -5965,8 +5965,7 @@ menuitem = l->data; if (menuitem != gtk_item_factory_get_widget(gtkblist->ift, N_("/Accounts/Add\\/Edit"))) - gtk_container_remove(GTK_CONTAINER(accountmenu), - menuitem); + gtk_widget_destroy(menuitem); } for (accounts = gaim_accounts_get_all(); accounts; accounts = accounts->next) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dat...@us...> - 2006-11-17 04:31:22
|
Revision: 17766 http://svn.sourceforge.net/gaim/?rev=17766&view=rev Author: datallah Date: 2006-11-16 20:31:21 -0800 (Thu, 16 Nov 2006) Log Message: ----------- This should prevent a crash when reading a malformed custom emoticon. Also add some debuggering output for when this happens to see if we can figure out the exact scenario. Modified Paths: -------------- trunk/libgaim/protocols/msn/object.c trunk/libgaim/protocols/msn/slp.c trunk/libgaim/protocols/msn/slplink.c Modified: trunk/libgaim/protocols/msn/object.c =================================================================== --- trunk/libgaim/protocols/msn/object.c 2006-11-17 03:29:45 UTC (rev 17765) +++ trunk/libgaim/protocols/msn/object.c 2006-11-17 04:31:21 UTC (rev 17766) @@ -22,6 +22,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "object.h" +#include "debug.h" #define GET_STRING_TAG(field, id) \ if ((tag = strstr(str, id "=\"")) != NULL) \ @@ -94,6 +95,7 @@ if (obj->creator == NULL || obj->size == 0 || obj->type == 0 || obj->location == NULL || obj->friendly == NULL || obj->sha1d == NULL || obj->sha1c == NULL) { + gaim_debug_error("msn", "Discarding invalid msnobj: '%s'\n", str); msn_object_destroy(obj); obj = NULL; } @@ -106,24 +108,13 @@ { g_return_if_fail(obj != NULL); - if (obj->creator != NULL) - g_free(obj->creator); + g_free(obj->creator); + g_free(obj->location); + g_free(obj->real_location); + g_free(obj->friendly); + g_free(obj->sha1d); + g_free(obj->sha1c); - if (obj->location != NULL) - g_free(obj->location); - - if (obj->real_location != NULL) - g_free(obj->real_location); - - if (obj->friendly != NULL) - g_free(obj->friendly); - - if (obj->sha1d != NULL) - g_free(obj->sha1d); - - if (obj->sha1c != NULL) - g_free(obj->sha1c); - if (obj->local) local_objs = g_list_remove(local_objs, obj); Modified: trunk/libgaim/protocols/msn/slp.c =================================================================== --- trunk/libgaim/protocols/msn/slp.c 2006-11-17 03:29:45 UTC (rev 17765) +++ trunk/libgaim/protocols/msn/slp.c 2006-11-17 04:31:21 UTC (rev 17766) @@ -819,6 +819,9 @@ smile = tokens[tok]; obj = msn_object_new_from_string(gaim_url_decode(tokens[tok + 1])); + if (obj == NULL) + break; + who = msn_object_get_creator(obj); sha1c = msn_object_get_sha1c(obj); Modified: trunk/libgaim/protocols/msn/slplink.c =================================================================== --- trunk/libgaim/protocols/msn/slplink.c 2006-11-17 03:29:45 UTC (rev 17765) +++ trunk/libgaim/protocols/msn/slplink.c 2006-11-17 04:31:21 UTC (rev 17766) @@ -147,6 +147,9 @@ { MsnSlpLink *slplink; + g_return_val_if_fail(session != NULL, NULL); + g_return_val_if_fail(username != NULL, NULL); + slplink = msn_session_find_slplink(session, username); if (slplink == NULL) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ebl...@us...> - 2006-11-17 03:29:51
|
Revision: 17765 http://svn.sourceforge.net/gaim/?rev=17765&view=rev Author: eblanton Date: 2006-11-16 19:29:45 -0800 (Thu, 16 Nov 2006) Log Message: ----------- Update the GntEntry::bindings in gaim-text.1 to reflect some more default bindings. This should probably be broken int gntrc.1 and gaim-text.1, but that bridge can be crossed later. Modified Paths: -------------- trunk/doc/gaim-text.1.in Modified: trunk/doc/gaim-text.1.in =================================================================== --- trunk/doc/gaim-text.1.in 2006-11-17 03:26:19 UTC (rev 17764) +++ trunk/doc/gaim-text.1.in 2006-11-17 03:29:45 UTC (rev 17765) @@ -227,8 +227,12 @@ .br c-k = delete-end .br +c-b = cursor-prev +.br left = cursor-prev .br +c-f = cursor-next +.br right = cursor-next .br tab = suggest-show This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dat...@us...> - 2006-11-17 03:26:19
|
Revision: 17764 http://svn.sourceforge.net/gaim/?rev=17764&view=rev Author: datallah Date: 2006-11-16 19:26:19 -0800 (Thu, 16 Nov 2006) Log Message: ----------- Don't install incompatible GTK+ versions on Win95/98/ME. Alert the user about the incompatibility and abort installation if a good version of GTK+ isn't already installed. Also don't allow a theme selection because it wont work with our GTK+ 2.6.10 runtime. Modified Paths: -------------- trunk/gaim-installer.nsi trunk/gtk/win32/nsis/langmacros.nsh trunk/gtk/win32/nsis/translations/english.nsh Modified: trunk/gaim-installer.nsi =================================================================== --- trunk/gaim-installer.nsi 2006-11-17 02:15:28 UTC (rev 17763) +++ trunk/gaim-installer.nsi 2006-11-17 03:26:19 UTC (rev 17764) @@ -120,9 +120,7 @@ ;-------------------------------- ;Pages -!ifndef WITH_GTK !define MUI_PAGE_CUSTOMFUNCTION_PRE preWelcomePage -!endif !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "./COPYING" !insertmacro MUI_PAGE_COMPONENTS @@ -831,7 +829,9 @@ StrCmp $2 "HKLM" 0 user_theme ; Global Theme + ClearErrors ReadRegStr $2 HKLM ${GTK_REG_KEY} "Path" + IfErrors user_theme StrCpy $3 "$2\etc\gtk-2.0\gtkrc" Goto update_theme user_theme: @@ -1227,24 +1227,56 @@ ; Page enter and exit functions.. +Function preWelcomePage + Push R0 + !ifndef WITH_GTK -Function preWelcomePage ; If this installer dosn't have GTK, check whether we need it. ; We do this here an not in .onInit because language change in ; .onInit doesn't take effect until it is finished. - Push $R0 + Call DoWeNeedGtk + Pop $R0 + Pop $GTK_FOLDER + + IntCmp $R0 1 done done + MessageBox MB_OK $(GTK_INSTALLER_NEEDED) /SD IDOK + Quit + + done: + +!else + Push R1 + + ; If on Win95/98/ME warn them that the GTK+ version wont work + Call GetWindowsVersion + Pop $R1 + StrCmp $R1 "95" win_ver_bad + StrCmp $R1 "98" win_ver_bad + StrCmp $R1 "ME" win_ver_bad + Goto done + + win_ver_bad: + !insertmacro UnselectSection ${SecGtk} + !insertmacro SetSectionFlag ${SecGtkNone} ${SF_RO} + !insertmacro UnselectSection ${SecGtkNone} + !insertmacro SetSectionFlag ${SecGtkWimp} ${SF_RO} + !insertmacro UnselectSection ${SecGtkWimp} + !insertmacro SetSectionFlag ${SecGtkBluecurve} ${SF_RO} + !insertmacro UnselectSection ${SecGtkBluecurve} + !insertmacro SetSectionFlag ${SecGtkLighthouseblue} ${SF_RO} + !insertmacro UnselectSection ${SecGtkLighthouseblue} + MessageBox MB_OK $(GTK_WINDOWS_INCOMPATIBLE) /SD IDOK Call DoWeNeedGtk Pop $R0 - Pop $GTK_FOLDER + Pop $R1 + IntCmp $R0 1 done done ; Upgrade isn't optional - abort if we don't have a suitable version + Quit - IntCmp $R0 1 have_gtk have_gtk - - MessageBox MB_OK $(GTK_INSTALLER_NEEDED) /SD IDOK - Quit - have_gtk: - Pop $R0 + done: + Pop $R1 +!endif + Pop $R0 FunctionEnd -!endif !ifdef WITH_GTK Function preGtkDirPage @@ -1307,7 +1339,7 @@ ; ; Returns on top of stack ; -; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003) +; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003, Vista) ; or ; '' (Unknown Windows Version) ; @@ -1361,7 +1393,8 @@ StrCmp $R1 '5.0' lbl_winnt_2000 StrCmp $R1 '5.1' lbl_winnt_XP - StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error + StrCmp $R1 '5.2' lbl_winnt_2003 + StrCmp $R1 '6.0' lbl_winnt_vista lbl_error lbl_winnt_x: StrCpy $R0 "NT $R0" 6 @@ -1379,6 +1412,10 @@ Strcpy $R0 '2003' Goto lbl_done + lbl_winnt_vista: + Strcpy $R0 'Vista' + Goto lbl_done + lbl_error: Strcpy $R0 '' lbl_done: Modified: trunk/gtk/win32/nsis/langmacros.nsh =================================================================== --- trunk/gtk/win32/nsis/langmacros.nsh 2006-11-17 02:15:28 UTC (rev 17763) +++ trunk/gtk/win32/nsis/langmacros.nsh 2006-11-17 03:26:19 UTC (rev 17764) @@ -61,6 +61,7 @@ ; GTK+ Directory Page !insertmacro GAIM_MACRO_LANGSTRING_INSERT GTK_UPGRADE_PROMPT ${CUR_LANG} + !insertmacro GAIM_MACRO_LANGSTRING_INSERT GTK_WINDOWS_INCOMPATIBLE ${CUR_LANG} ; Installer Finish Page !insertmacro GAIM_MACRO_LANGSTRING_INSERT GAIM_FINISH_VISIT_WEB_SITE ${CUR_LANG} Modified: trunk/gtk/win32/nsis/translations/english.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/english.nsh 2006-11-17 02:15:28 UTC (rev 17763) +++ trunk/gtk/win32/nsis/translations/english.nsh 2006-11-17 03:26:19 UTC (rev 17764) @@ -44,6 +44,7 @@ ; GTK+ Directory Page !insertmacro GAIM_MACRO_DEFAULT_STRING GTK_UPGRADE_PROMPT "An old version of the GTK+ runtime was found. Do you wish to upgrade?$\rNote: Gaim may not work unless you do." +!insertmacro GAIM_MACRO_DEFAULT_STRING GTK_WINDOWS_INCOMPATIBLE "Windows 95/98/Me are incompatible with GTK+ 2.8.0 or newer. GTK+ ${GTK_INSTALL_VERSION} will not be installed.$\rIf you don't have GTK+ ${GTK_MIN_VERSION} or newer already installed, installation will now abort." ; Installer Finish Page !insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_FINISH_VISIT_WEB_SITE "Visit the Windows Gaim Web Page" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2006-11-17 02:15:33
|
Revision: 17763 http://svn.sourceforge.net/gaim/?rev=17763&view=rev Author: sadrul Date: 2006-11-16 18:15:28 -0800 (Thu, 16 Nov 2006) Log Message: ----------- Fix a crash, plug a leak. Modified Paths: -------------- trunk/console/gntblist.c Modified: trunk/console/gntblist.c =================================================================== --- trunk/console/gntblist.c 2006-11-17 01:11:18 UTC (rev 17762) +++ trunk/console/gntblist.c 2006-11-17 02:15:28 UTC (rev 17763) @@ -1006,6 +1006,8 @@ gg_blist_toggle_tag_buddy(GaimBlistNode *node) { GList *iter; + if (GAIM_BLIST_NODE_IS_CHAT(node) || GAIM_BLIST_NODE_IS_GROUP(node)) + return; if (ggblist->tagged && (iter = g_list_find(ggblist->tagged, node)) != NULL) { ggblist->tagged = g_list_delete_link(ggblist->tagged, iter); } else { @@ -1444,6 +1446,8 @@ if (ggblist->typing) g_source_remove(ggblist->typing); remove_peripherals(ggblist); + if (ggblist->tagged) + g_list_free(ggblist->tagged); g_free(ggblist); ggblist = NULL; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dat...@us...> - 2006-11-17 01:11:20
|
Revision: 17762 http://svn.sourceforge.net/gaim/?rev=17762&view=rev Author: datallah Date: 2006-11-16 17:11:18 -0800 (Thu, 16 Nov 2006) Log Message: ----------- GTK+ Theme selection will now choose the system-wide theme if the installer is being run by the admin user. Also, the theme checkboxes can now be all unselected and we wont mess with the current theme selection. Modified Paths: -------------- trunk/gaim-installer.nsi Modified: trunk/gaim-installer.nsi =================================================================== --- trunk/gaim-installer.nsi 2006-11-17 00:41:28 UTC (rev 17761) +++ trunk/gaim-installer.nsi 2006-11-17 01:11:18 UTC (rev 17762) @@ -49,7 +49,6 @@ !insertmacro VersionCompare !include "TextFunc.nsh" -!insertmacro ConfigRead !insertmacro ConfigWriteS ;-------------------------------- @@ -487,7 +486,7 @@ ;-------------------------------- ;Shortcuts -SubSection /e $(GAIM_SHORTCUTS_SECTION_TITLE) SecShortcuts +SectionGroup /e $(GAIM_SHORTCUTS_SECTION_TITLE) SecShortcuts Section /o $(GAIM_DESKTOP_SHORTCUT_SECTION_TITLE) SecDesktopShortcut SetOverwrite on CreateShortCut "$DESKTOP\Gaim.lnk" "$INSTDIR\gaim.exe" @@ -499,12 +498,12 @@ CreateShortCut "$SMPROGRAMS\Gaim\Gaim.lnk" "$INSTDIR\gaim.exe" SetOverwrite off SectionEnd -SubSectionEnd +SectionGroupEnd ;-------------------------------- ;GTK+ Themes -SubSection /e $(GTK_THEMES_SECTION_TITLE) SecGtkThemes +SectionGroup /e $(GTK_THEMES_SECTION_TITLE) SecGtkThemes Section /o $(GTK_NOTHEME_SECTION_TITLE) SecGtkNone Push "Raleigh" Call WriteGtkThemeConfig @@ -524,12 +523,12 @@ Push "Lighthouseblue" Call WriteGtkThemeConfig SectionEnd -SubSectionEnd +SectionGroupEnd ;-------------------------------- ;Spell Checking -SubSection /e $(GAIM_SPELLCHECK_SECTION_TITLE) SecSpellCheck +SectionGroup /e $(GAIM_SPELLCHECK_SECTION_TITLE) SecSpellCheck Section /o $(GAIM_SPELLCHECK_BRETON) SecSpellCheckBreton Push ${SecSpellCheckBreton} Call InstallAspellAndDict @@ -618,7 +617,7 @@ Push ${SecSpellCheckUkrainian} Call InstallAspellAndDict SectionEnd -SubSectionEnd +SectionGroupEnd ;-------------------------------- ;Uninstaller Section @@ -822,25 +821,37 @@ ;Functions Function WriteGtkThemeConfig -Exch $0 -Push $1 + Exch $0 + Push $1 + Push $2 + Push $3 -ClearErrors -${ConfigRead} "$PROFILE\.gtkrc-2.0" "gtk-theme-name =" $1 -IfErrors new_file -${ConfigWriteS} "$PROFILE\.gtkrc-2.0" "gtk-theme-name =" "$\"$0$\"" $1 -Goto done + Call CheckUserInstallRights + Pop $2 + StrCmp $2 "HKLM" 0 user_theme -new_file: -ClearErrors -FileOpen $1 "$PROFILE\.gtkrc-2.0" w -FileWrite $1 "gtk-theme-name = $\"$0$\"" -FileClose $1 -Goto done + ; Global Theme + ReadRegStr $2 HKLM ${GTK_REG_KEY} "Path" + StrCpy $3 "$2\etc\gtk-2.0\gtkrc" + Goto update_theme + user_theme: + StrCpy $3 "$PROFILE\.gtkrc-2.0" -done: -Pop $1 -Pop $0 + update_theme: + IfFileExists $3 0 new_file + ${ConfigWriteS} $3 "gtk-theme-name =" " $\"$0$\"" $1 + Goto done + + new_file: + FileOpen $1 $3 w + FileWrite $1 "gtk-theme-name = $\"$0$\"" + FileClose $1 + + done: + Pop $3 + Pop $2 + Pop $1 + Pop $0 FunctionEnd !macro CheckUserInstallRightsMacro UN @@ -1177,7 +1188,7 @@ Push $1 Push $2 - !insertmacro StartRadioButtons $GTK_THEME_SEL + !insertmacro StartRadioButtonsUnselectable $GTK_THEME_SEL !insertmacro RadioButton ${SecGtkNone} !insertmacro RadioButton ${SecGtkWimp} !insertmacro RadioButton ${SecGtkBluecurve} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-11-16 22:47:59
|
Revision: 17760 http://svn.sourceforge.net/gaim/?rev=17760&view=rev Author: thekingant Date: 2006-11-16 14:47:45 -0800 (Thu, 16 Nov 2006) Log Message: ----------- Get rid of serv_set_buddyicon(). Moved the code directly into gaim_account_set_buddy_icon(). Modified Paths: -------------- trunk/libgaim/account.c trunk/libgaim/plugins/perl/common/Server.xs trunk/libgaim/server.c trunk/libgaim/server.h Modified: trunk/libgaim/account.c =================================================================== --- trunk/libgaim/account.c 2006-11-16 20:07:19 UTC (rev 17759) +++ trunk/libgaim/account.c 2006-11-16 22:47:45 UTC (rev 17760) @@ -1270,9 +1270,18 @@ account->buddy_icon = g_strdup(icon); if (gaim_account_is_connected(account)) { - char *filename = gaim_buddy_icons_get_full_path(icon); - serv_set_buddyicon(gaim_account_get_connection(account), filename); - g_free(filename); + GaimConnection *gc; + GaimPluginProtocolInfo *prpl_info; + + gc = gaim_account_get_connection(account); + prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl); + + if (prpl_info && prpl_info->set_buddy_icon) + { + char *filename = gaim_buddy_icons_get_full_path(icon); + prpl_info->set_buddy_icon(gc, filename); + g_free(filename); + } } schedule_accounts_save(); Modified: trunk/libgaim/plugins/perl/common/Server.xs =================================================================== --- trunk/libgaim/plugins/perl/common/Server.xs 2006-11-16 20:07:19 UTC (rev 17759) +++ trunk/libgaim/plugins/perl/common/Server.xs 2006-11-16 22:47:45 UTC (rev 17760) @@ -206,11 +206,6 @@ Gaim::TypingState state void -serv_set_buddyicon(gc, filename) - Gaim::Connection gc - const char *filename - -void serv_set_info(con, a) Gaim::Connection con const char * a Modified: trunk/libgaim/server.c =================================================================== --- trunk/libgaim/server.c 2006-11-16 20:07:19 UTC (rev 17759) +++ trunk/libgaim/server.c 2006-11-16 22:47:45 UTC (rev 17760) @@ -414,18 +414,6 @@ return val; } -void serv_set_buddyicon(GaimConnection *gc, const char *filename) -{ - GaimPluginProtocolInfo *prpl_info = NULL; - - if (gc->prpl != NULL) - prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl); - - if (prpl_info && prpl_info->set_buddy_icon) - prpl_info->set_buddy_icon(gc, filename); - -} - /* * woo. i'm actually going to comment this function. isn't that fun. make * sure to follow along, kids Modified: trunk/libgaim/server.h =================================================================== --- trunk/libgaim/server.h 2006-11-16 20:07:19 UTC (rev 17759) +++ trunk/libgaim/server.h 2006-11-16 22:47:45 UTC (rev 17760) @@ -91,7 +91,6 @@ void serv_got_im(GaimConnection *gc, const char *who, const char *msg, GaimMessageFlags flags, time_t mtime); -void serv_set_buddyicon(GaimConnection *gc, const char *filename); void serv_got_chat_invite(GaimConnection *gc, const char *name, const char *who, const char *message, GHashTable *data); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-11-16 20:07:30
|
Revision: 17759 http://svn.sourceforge.net/gaim/?rev=17759&view=rev Author: thekingant Date: 2006-11-16 12:07:19 -0800 (Thu, 16 Nov 2006) Log Message: ----------- This call is not needed--the string is initialized to the correct size. Modified Paths: -------------- trunk/libgaim/protocols/yahoo/yahoo_picture.c Modified: trunk/libgaim/protocols/yahoo/yahoo_picture.c =================================================================== --- trunk/libgaim/protocols/yahoo/yahoo_picture.c 2006-11-16 04:58:40 UTC (rev 17758) +++ trunk/libgaim/protocols/yahoo/yahoo_picture.c 2006-11-16 20:07:19 UTC (rev 17759) @@ -561,7 +561,6 @@ int expire = gaim_account_get_int(account, YAHOO_PICEXPIRE_SETTING, 0); const char *oldurl = gaim_account_get_string(account, YAHOO_PICURL_SETTING, NULL); - g_string_set_size(s, st.st_size); len = fread(s->str, 1, st.st_size, file); fclose(file); g_string_set_size(s, len); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dat...@us...> - 2006-11-16 04:58:41
|
Revision: 17758 http://svn.sourceforge.net/gaim/?rev=17758&view=rev Author: datallah Date: 2006-11-15 20:58:40 -0800 (Wed, 15 Nov 2006) Log Message: ----------- Don't lose the account proxy settings just because they are hidden and not in use. Also, make the MSN HTTP method use the same proxy setup code as the core - this should improve env. var proxy handling. Modified Paths: -------------- trunk/gtk/gtkaccount.c trunk/libgaim/account.c trunk/libgaim/protocols/msn/httpconn.c trunk/libgaim/proxy.c Modified: trunk/gtk/gtkaccount.c =================================================================== --- trunk/gtk/gtkaccount.c 2006-11-16 03:17:27 UTC (rev 17757) +++ trunk/gtk/gtkaccount.c 2006-11-16 04:58:40 UTC (rev 17758) @@ -1004,6 +1004,8 @@ (proxy_info = gaim_account_get_proxy_info(dialog->account)) != NULL) { GaimProxyType type = gaim_proxy_info_get_type(proxy_info); + const char *value; + int int_val; /* Hah! */ /* I dunno what you're laughing about, fuzz ball. */ @@ -1012,30 +1014,26 @@ type + 1); if (type == GAIM_PROXY_USE_GLOBAL || type == GAIM_PROXY_NONE || - type == GAIM_PROXY_USE_ENVVAR) { + type == GAIM_PROXY_USE_ENVVAR) gtk_widget_hide_all(vbox2); - } - else { - const char *value; - int int_val; - if ((value = gaim_proxy_info_get_host(proxy_info)) != NULL) - gtk_entry_set_text(GTK_ENTRY(dialog->proxy_host_entry), value); - if ((int_val = gaim_proxy_info_get_port(proxy_info)) != 0) { - char buf[32]; + if ((value = gaim_proxy_info_get_host(proxy_info)) != NULL) + gtk_entry_set_text(GTK_ENTRY(dialog->proxy_host_entry), value); - g_snprintf(buf, sizeof(buf), "%d", int_val); + if ((int_val = gaim_proxy_info_get_port(proxy_info)) != 0) { + char buf[11]; - gtk_entry_set_text(GTK_ENTRY(dialog->proxy_port_entry), buf); - } + g_snprintf(buf, sizeof(buf), "%d", int_val); - if ((value = gaim_proxy_info_get_username(proxy_info)) != NULL) - gtk_entry_set_text(GTK_ENTRY(dialog->proxy_user_entry), value); + gtk_entry_set_text(GTK_ENTRY(dialog->proxy_port_entry), buf); + } - if ((value = gaim_proxy_info_get_password(proxy_info)) != NULL) - gtk_entry_set_text(GTK_ENTRY(dialog->proxy_pass_entry), value); - } + if ((value = gaim_proxy_info_get_username(proxy_info)) != NULL) + gtk_entry_set_text(GTK_ENTRY(dialog->proxy_user_entry), value); + + if ((value = gaim_proxy_info_get_password(proxy_info)) != NULL) + gtk_entry_set_text(GTK_ENTRY(dialog->proxy_pass_entry), value); } else { dialog->new_proxy_type = GAIM_PROXY_USE_GLOBAL; @@ -1258,54 +1256,61 @@ } /* Set the proxy stuff. */ - if (dialog->new_proxy_type == GAIM_PROXY_USE_GLOBAL) { - gaim_account_set_proxy_info(account, NULL); + proxy_info = gaim_account_get_proxy_info(account); + + /* Create the proxy info if it doesn't exist. */ + if (proxy_info == NULL) { + proxy_info = gaim_proxy_info_new(); + gaim_account_set_proxy_info(account, proxy_info); } - else { - proxy_info = gaim_account_get_proxy_info(account); - /* Create the proxy info if it doesn't exist. */ - if (proxy_info == NULL) { - proxy_info = gaim_proxy_info_new(); - gaim_account_set_proxy_info(account, proxy_info); - } + /* Set the proxy info type. */ + gaim_proxy_info_set_type(proxy_info, dialog->new_proxy_type); - /* Set the proxy info type. */ - gaim_proxy_info_set_type(proxy_info, dialog->new_proxy_type); + /* Host */ + value = gtk_entry_get_text(GTK_ENTRY(dialog->proxy_host_entry)); - /* Host */ - value = gtk_entry_get_text(GTK_ENTRY(dialog->proxy_host_entry)); + if (*value != '\0') + gaim_proxy_info_set_host(proxy_info, value); + else + gaim_proxy_info_set_host(proxy_info, NULL); - if (*value != '\0') - gaim_proxy_info_set_host(proxy_info, value); - else - gaim_proxy_info_set_host(proxy_info, NULL); + /* Port */ + value = gtk_entry_get_text(GTK_ENTRY(dialog->proxy_port_entry)); - /* Port */ - value = gtk_entry_get_text(GTK_ENTRY(dialog->proxy_port_entry)); + if (*value != '\0') + gaim_proxy_info_set_port(proxy_info, atoi(value)); + else + gaim_proxy_info_set_port(proxy_info, 0); - if (*value != '\0') - gaim_proxy_info_set_port(proxy_info, atoi(value)); - else - gaim_proxy_info_set_port(proxy_info, 0); + /* Username */ + value = gtk_entry_get_text(GTK_ENTRY(dialog->proxy_user_entry)); - /* Username */ - value = gtk_entry_get_text(GTK_ENTRY(dialog->proxy_user_entry)); + if (*value != '\0') + gaim_proxy_info_set_username(proxy_info, value); + else + gaim_proxy_info_set_username(proxy_info, NULL); - if (*value != '\0') - gaim_proxy_info_set_username(proxy_info, value); - else - gaim_proxy_info_set_username(proxy_info, NULL); + /* Password */ + value = gtk_entry_get_text(GTK_ENTRY(dialog->proxy_pass_entry)); - /* Password */ - value = gtk_entry_get_text(GTK_ENTRY(dialog->proxy_pass_entry)); + if (*value != '\0') + gaim_proxy_info_set_password(proxy_info, value); + else + gaim_proxy_info_set_password(proxy_info, NULL); - if (*value != '\0') - gaim_proxy_info_set_password(proxy_info, value); - else - gaim_proxy_info_set_password(proxy_info, NULL); + /* If there are no values set then proxy_info NULL */ + if ((gaim_proxy_info_get_type(proxy_info) == GAIM_PROXY_USE_GLOBAL) && + (gaim_proxy_info_get_host(proxy_info) == NULL) && + (gaim_proxy_info_get_port(proxy_info) == 0) && + (gaim_proxy_info_get_username(proxy_info) == NULL) && + (gaim_proxy_info_get_password(proxy_info) == NULL)) + { + gaim_account_set_proxy_info(account, NULL); + proxy_info = NULL; } + /* We no longer need the data from the dialog window */ account_win_destroy_cb(NULL, NULL, dialog); Modified: trunk/libgaim/account.c =================================================================== --- trunk/libgaim/account.c 2006-11-16 03:17:27 UTC (rev 17757) +++ trunk/libgaim/account.c 2006-11-16 04:58:40 UTC (rev 17758) @@ -269,34 +269,29 @@ proxy_type == GAIM_PROXY_SOCKS5 ? "socks5" : proxy_type == GAIM_PROXY_USE_ENVVAR ? "envvar" : "unknown"), -1); - if (proxy_type != GAIM_PROXY_USE_GLOBAL && - proxy_type != GAIM_PROXY_NONE && - proxy_type != GAIM_PROXY_USE_ENVVAR) + if ((value = gaim_proxy_info_get_host(proxy_info)) != NULL) { - if ((value = gaim_proxy_info_get_host(proxy_info)) != NULL) - { - child = xmlnode_new_child(node, "host"); - xmlnode_insert_data(child, value, -1); - } + child = xmlnode_new_child(node, "host"); + xmlnode_insert_data(child, value, -1); + } - if ((int_value = gaim_proxy_info_get_port(proxy_info)) != 0) - { - snprintf(buf, sizeof(buf), "%d", int_value); - child = xmlnode_new_child(node, "port"); - xmlnode_insert_data(child, buf, -1); - } + if ((int_value = gaim_proxy_info_get_port(proxy_info)) != 0) + { + snprintf(buf, sizeof(buf), "%d", int_value); + child = xmlnode_new_child(node, "port"); + xmlnode_insert_data(child, buf, -1); + } - if ((value = gaim_proxy_info_get_username(proxy_info)) != NULL) - { - child = xmlnode_new_child(node, "username"); - xmlnode_insert_data(child, value, -1); - } + if ((value = gaim_proxy_info_get_username(proxy_info)) != NULL) + { + child = xmlnode_new_child(node, "username"); + xmlnode_insert_data(child, value, -1); + } - if ((value = gaim_proxy_info_get_password(proxy_info)) != NULL) - { - child = xmlnode_new_child(node, "password"); - xmlnode_insert_data(child, value, -1); - } + if ((value = gaim_proxy_info_get_password(proxy_info)) != NULL) + { + child = xmlnode_new_child(node, "password"); + xmlnode_insert_data(child, value, -1); } return node; @@ -657,7 +652,7 @@ g_free(data); } - /* If there are no values set then proxy_infourn NULL */ + /* If there are no values set then proxy_info NULL */ if ((gaim_proxy_info_get_type(proxy_info) == GAIM_PROXY_USE_GLOBAL) && (gaim_proxy_info_get_host(proxy_info) == NULL) && (gaim_proxy_info_get_port(proxy_info) == 0) && @@ -1031,7 +1026,7 @@ gc = gaim_account_get_connection(account); gaim_connection_destroy(gc); if (!gaim_account_get_remember_password(account)) - gaim_account_set_password(account, NULL); + gaim_account_set_password(account, NULL); gaim_account_set_connection(account, NULL); account->disconnecting = FALSE; Modified: trunk/libgaim/protocols/msn/httpconn.c =================================================================== --- trunk/libgaim/protocols/msn/httpconn.c 2006-11-16 03:17:27 UTC (rev 17757) +++ trunk/libgaim/protocols/msn/httpconn.c 2006-11-16 04:58:40 UTC (rev 17758) @@ -475,10 +475,7 @@ account = httpconn->session->account; - if (gaim_account_get_proxy_info(account) == NULL) - gpi = gaim_global_proxy_get_info(); - else - gpi = gaim_account_get_proxy_info(account); + gpi = gaim_proxy_get_setup(account); if (gpi == NULL || !(gaim_proxy_info_get_type(gpi) == GAIM_PROXY_HTTP || gaim_proxy_info_get_type(gpi) == GAIM_PROXY_USE_ENVVAR)) Modified: trunk/libgaim/proxy.c =================================================================== --- trunk/libgaim/proxy.c 2006-11-16 03:17:27 UTC (rev 17757) +++ trunk/libgaim/proxy.c 2006-11-16 04:58:40 UTC (rev 17758) @@ -1685,7 +1685,7 @@ GaimProxyInfo * gaim_proxy_get_setup(GaimAccount *account) { - GaimProxyInfo *gpi; + GaimProxyInfo *gpi = NULL; const gchar *tmp; /* This is used as a fallback so we don't overwrite the selected proxy type */ @@ -1695,12 +1695,17 @@ gaim_proxy_info_set_type(tmp_none_proxy_info, GAIM_PROXY_NONE); } - if (account && gaim_account_get_proxy_info(account) != NULL) + if (account && gaim_account_get_proxy_info(account) != NULL) { gpi = gaim_account_get_proxy_info(account); - else if (gaim_running_gnome()) - gpi = gaim_gnome_proxy_get_info(); - else - gpi = gaim_global_proxy_get_info(); + if (gaim_proxy_info_get_type(gpi) == GAIM_PROXY_USE_GLOBAL) + gpi = NULL; + } + if (gpi == NULL) { + if (gaim_running_gnome()) + gpi = gaim_gnome_proxy_get_info(); + else + gpi = gaim_global_proxy_get_info(); + } if (gaim_proxy_info_get_type(gpi) == GAIM_PROXY_USE_ENVVAR) { #ifdef _WIN32 @@ -1733,6 +1738,18 @@ proxyport = atoi(tmp); gaim_proxy_info_set_port(gpi, proxyport); + + /* XXX: Do we want to skip this step if user/password were part of url? */ + if ((tmp = g_getenv("HTTP_PROXY_USER")) != NULL || + (tmp = g_getenv("http_proxy_user")) != NULL || + (tmp = g_getenv("HTTPPROXYUSER")) != NULL) + gaim_proxy_info_set_username(gpi, tmp); + + if ((tmp = g_getenv("HTTP_PROXY_PASS")) != NULL || + (tmp = g_getenv("http_proxy_pass")) != NULL || + (tmp = g_getenv("HTTPPROXYPASS")) != NULL) + gaim_proxy_info_set_password(gpi, tmp); + } } else { /* no proxy environment variable found, don't use a proxy */ @@ -1740,16 +1757,6 @@ gpi = tmp_none_proxy_info; } - /* XXX: Do we want to skip this step if user/password were part of url? */ - if ((tmp = g_getenv("HTTP_PROXY_USER")) != NULL || - (tmp = g_getenv("http_proxy_user")) != NULL || - (tmp = g_getenv("HTTPPROXYUSER")) != NULL) - gaim_proxy_info_set_username(gpi, tmp); - - if ((tmp = g_getenv("HTTP_PROXY_PASS")) != NULL || - (tmp = g_getenv("http_proxy_pass")) != NULL || - (tmp = g_getenv("HTTPPROXYPASS")) != NULL) - gaim_proxy_info_set_password(gpi, tmp); } return gpi; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |