# HG changeset patch # User Evan Schoenberg # Date 1178106904 0 # Node ID e3f4f1fd8f3df375b392d36ecc3684bbd1b7d8ff # Parent b63ef2b2acfca2675034f31dbfd4d4b843037f30# Parent a9975d6c28321203e201c4398c9ec8035bd234ec merge of '92952767b5290dd3324e325476ad8aecd0e2a3f1' and 'edbf1afe63dd8077f9c4287f723010c769239720' diff -r a9975d6c2832 -r e3f4f1fd8f3d ChangeLog.API --- a/ChangeLog.API Wed May 02 11:54:27 2007 +0000 +++ b/ChangeLog.API Wed May 02 11:55:04 2007 +0000 @@ -390,6 +390,7 @@ * GtkGaimScrollBook and its functions. * purple_markup_unescape_entity() * purple_markup_get_css_property() + * purple_group_get_name() Signals - Changed: (See the Doxygen docs for details on all signals.) * Signal propagation now stops after a handler returns a non-NULL value. diff -r a9975d6c2832 -r e3f4f1fd8f3d finch/gntblist.c --- a/finch/gntblist.c Wed May 02 11:54:27 2007 +0000 +++ b/finch/gntblist.c Wed May 02 11:55:04 2007 +0000 @@ -112,7 +112,7 @@ static void blist_show(PurpleBuddyList *list); static void update_node_display(PurpleBlistNode *buddy, FinchBlist *ggblist); static void update_buddy_display(PurpleBuddy *buddy, FinchBlist *ggblist); -static void account_signed_on_cb(void); +static void account_signed_on_cb(PurpleConnection *pc, gpointer null); /* Sort functions */ static int blist_node_compare_position(PurpleBlistNode *n1, PurpleBlistNode *n2); @@ -2065,7 +2065,7 @@ } static void -account_signed_on_cb() +account_signed_on_cb(PurpleConnection *pc, gpointer null) { PurpleBlistNode *node; @@ -2073,7 +2073,8 @@ node = purple_blist_node_next(node, FALSE)) { if (PURPLE_BLIST_NODE_IS_CHAT(node)) { PurpleChat *chat = (PurpleChat*)node; - if (purple_blist_node_get_bool(node, "gnt-autojoin")) + if (chat->account == purple_connection_get_account(pc) && + purple_blist_node_get_bool(node, "gnt-autojoin")) serv_join_chat(purple_account_get_connection(chat->account), chat->components); } } diff -r a9975d6c2832 -r e3f4f1fd8f3d libpurple/blist.c --- a/libpurple/blist.c Wed May 02 11:54:27 2007 +0000 +++ b/libpurple/blist.c Wed May 02 11:55:04 2007 +0000 @@ -2037,13 +2037,18 @@ struct proto_chat_entry *pce; GList *parts; char *ret; + PurplePlugin *prpl; + PurplePluginProtocolInfo *prpl_info = NULL; g_return_val_if_fail(chat != NULL, NULL); if ((chat->alias != NULL) && (*chat->alias != '\0')) return chat->alias; - parts = PURPLE_PLUGIN_PROTOCOL_INFO(chat->account->gc->prpl)->chat_info(chat->account->gc); + prpl = purple_find_prpl(purple_account_get_protocol_id(chat->account)); + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); + + parts = prpl_info->chat_info(chat->account->gc); pce = parts->data; ret = g_hash_table_lookup(chat->components, pce->identifier); g_list_foreach(parts, (GFunc)g_free, NULL); @@ -2406,6 +2411,13 @@ return FALSE; } +const char *purple_group_get_name(PurpleGroup *group) +{ + g_return_val_if_fail(group != NULL, NULL); + + return group->name; +} + void purple_blist_request_add_buddy(PurpleAccount *account, const char *username, const char *group, const char *alias) diff -r a9975d6c2832 -r e3f4f1fd8f3d libpurple/blist.h --- a/libpurple/blist.h Wed May 02 11:54:27 2007 +0000 +++ b/libpurple/blist.h Wed May 02 11:55:04 2007 +0000 @@ -686,6 +686,15 @@ gboolean purple_group_on_account(PurpleGroup *g, PurpleAccount *account); /** + * Returns the name of a group. + * + * @param group The group. + * + * @return The name of the group. + */ +const char *purple_group_get_name(PurpleGroup *group); + +/** * Called when an account gets signed on. Tells the UI to update all the * buddies. * diff -r a9975d6c2832 -r e3f4f1fd8f3d pidgin/gtkblist.c --- a/pidgin/gtkblist.c Wed May 02 11:54:27 2007 +0000 +++ b/pidgin/gtkblist.c Wed May 02 11:55:04 2007 +0000 @@ -1172,8 +1172,9 @@ GtkWidget *item; menu = gtk_menu_new(); - pidgin_new_item_from_stock(menu, _("Add a _Buddy"), GTK_STOCK_ADD, + item = pidgin_new_item_from_stock(menu, _("Add a _Buddy"), GTK_STOCK_ADD, G_CALLBACK(pidgin_blist_add_buddy_cb), node, 0, 0, NULL); + gtk_widget_set_sensitive(item, purple_connections_get_all() != NULL); item = pidgin_new_item_from_stock(menu, _("Add a C_hat"), GTK_STOCK_ADD, G_CALLBACK(pidgin_blist_add_chat_cb), node, 0, 0, NULL); gtk_widget_set_sensitive(item, pidgin_blist_joinchat_is_showable()); diff -r a9975d6c2832 -r e3f4f1fd8f3d pidgin/pixmaps/emotes/default/22/theme --- a/pidgin/pixmaps/emotes/default/22/theme Wed May 02 11:54:27 2007 +0000 +++ b/pidgin/pixmaps/emotes/default/22/theme Wed May 02 11:55:04 2007 +0000 @@ -217,20 +217,20 @@ ### Following ICQ 5.1 [ICQ] -smile.png :-) :) -sad.png :-( :( -wink.png ;-) ;) -tongue.png :-P :P +smile.png :-) :) +sad.png :-( :( +wink.png ;-) ;) +tongue.png :-P :P laugh.png *JOKINGLY* crying.png :'( #*KISSED* kiss.png :-* embarrassed.png :-[ angel.png O:-) -shut-mouth.png :-X :X -thinking.png :-\\ -shout.png >:o >:O -smile-big.png :-D :D +shut-mouth.png :-X :X +thinking.png :-\\ :-/ +shout.png >:o >:O +smile-big.png :-D :D moneymouth.png :-$ shock.png =-O glasses-cool.png 8-) @@ -248,90 +248,90 @@ ### Following Yahoo! Messenger 8.1 [Yahoo] -smile.png :) :-) -question.png :-/ :-\\ -shock.png :-O :O :-o :o +smile.png :) :-) +question.png :-/ :-\\ +shock.png :-O :O :-o :o devil.png >:) -angel.png O:-) o:-) 0:-) +angel.png O:-) o:-) 0:-) sick.png :-& yawn.png (:| hypnotized.png @-) -#on_the_phone :)] MISSING: "Wait,I'm phoning!" (not phone.png) => smily showing phone and hand ("stop") -sad.png :( :-( -in-love.png :x :-x :X :-X -angry.png X-( x-( X( x( +#on_the_phone :)] MISSING: "Wait,I'm phoning!" (not phone.png) => smily showing phone and hand ("stop") +sad.png :( :-( +in-love.png :x :-x :X :-X +angry.png X-( x-( X( x( crying.png :(( -glasses-nerdy.png :-B :-b +glasses-nerdy.png :-B :-b quiet.png :-$ -drool.png =P~ =p~ -lying.png :^O :^o +drool.png =P~ =p~ +lying.png :^O :^o call-me.png :-c -wink.png ;) ;-) +wink.png ;) ;-) embarrassed.png :"> -mean.png :-> :> -laugh.png :)) :-)) +mean.png :-> :> +laugh.png :)) :-)) bye.png =; arrogant.png [-( thinking.png :-? -waiting.png :-w :-W -#at_wits_end ~x( ~X( MISSING: "Why.Does.This.Not.Work.AAAAARGH!!" => angry smily shouting and pulling hair off -smile-big.png :D :-D :d :-d -tongue.png :-P :P :-p :p -glasses-cool.png B-) b-) -neutral.png :| :-| -sleepy.png I-) i-) |-) -clown.png :o) :O) -doh.png #-o #-O +waiting.png :-w :-W +#at_wits_end ~x( ~X( MISSING: "Why.Does.This.Not.Work.AAAAARGH!!" => angry smily shouting and pulling hair off +smile-big.png :D :-D :d :-d +tongue.png :-P :P :-p :p +glasses-cool.png B-) b-) +neutral.png :| :-| +sleepy.png I-) i-) |-) +clown.png :o) :O) +doh.png #-o #-O weep.png :-< go-away.png :-h lashes.png ;;) -kiss.png :-* :* -confused.png :-S :-s +kiss.png :-* :* +confused.png :-S :-s sarcastic.png /:) -eyeroll.png 8-| +eyeroll.png 8-| silly.png 8-} -clap.png =D> =d> -#phbbbt >:P >:p MISSING/YAHOO 6: "You are dumb! - No you are!!" => tongue on pissed of smily -#timeout :-t :-T MISSING: "Let's have a break." -hug-left.png >:D< >:d< +clap.png =D> =d> +#phbbbt >:P >:p MISSING/YAHOO 6: "You are dumb! - No you are!!" => tongue on pissed of smily +#timeout :-t :-T MISSING: "Let's have a break." +hug-left.png >:D< >:d< love-over.png =(( -sweat.png #:-S #:-s +sweat.png #:-S #:-s rotfl.png =)) -#loser L-) l-) MISSING/YAHOO 6: "Loser!" -party.png <:-P <:-p +#loser L-) l-) MISSING/YAHOO 6: "Loser!" +party.png <:-P <:-p cowboy.png <):) desire.png 8-> -alien.png =:) >-) -beat-up.png b-( B-( -chicken.png ~:> -coffee.png ~o) ~O) -cow.png 3:-O 3:-o -dance.png \\:D/ \\:d/ -rose.png @};- -dont-know.png :-L :-l -skeleton.png 8-X 8-x -lamp.png *-:) -monkey.png :(|) -coins.png $-) -peace.png :)>- -pig.png :@) -pray.png [-o< [-O< -pumpkin.png (~~) -shame.png [-X [-x -flag.png **== -clover.png %%- -musical-note.png :-" -nailbiting.png :-SS :-ss -giggle.png ;)) -worship.png ^:)^ -star.png (*) +alien.png =:) >-) +beat-up.png b-( B-( +chicken.png ~:> +coffee.png ~o) ~O) +cow.png 3:-O 3:-o +dance.png \\:D/ \\:d/ +rose.png @};- +dont-know.png :-L :-l +skeleton.png 8-X 8-x +lamp.png *-:) +monkey.png :(|) +coins.png $-) +peace.png :)>- +pig.png :@) +pray.png [-o< [-O< +pumpkin.png (~~) +shame.png [-X [-x +flag.png **== +clover.png %%- +musical-note.png :-" +nailbiting.png :-SS :-ss +giggle.png ;)) +worship.png ^:)^ +star.png (*) mad-tongue.png >:p -#yahoo_waving.gif >:/ TODO -#yahoo_talktohand.gif :-@ TODO -#yahoo_youkiddingme.gif :-j :-J TODO +#yahoo_waving.gif >:/ TODO +#yahoo_talktohand.gif :-@ TODO +#yahoo_youkiddingme.gif :-j :-J TODO ### These only work in a certain IMvironment -#yahoo_malefighter1.gif o-> O-> -#yahoo_malefighter2.gif o=> O=> -#yahoo_femalefighter.gif o-+ O-+ -yin-yang.png (%) +#yahoo_malefighter1.gif o-> O-> +#yahoo_malefighter2.gif o=> O=> +#yahoo_femalefighter.gif o-+ O-+ +yin-yang.png (%) diff -r a9975d6c2832 -r e3f4f1fd8f3d pidgin/win32/nsis/pidgin-installer.nsi --- a/pidgin/win32/nsis/pidgin-installer.nsi Wed May 02 11:54:27 2007 +0000 +++ b/pidgin/win32/nsis/pidgin-installer.nsi Wed May 02 11:55:04 2007 +0000 @@ -114,6 +114,7 @@ !define MUI_ABORTWARNING ;Finish Page config + !define MUI_FINISHPAGE_NOAUTOCLOSE !define MUI_FINISHPAGE_RUN "$INSTDIR\pidgin.exe" !define MUI_FINISHPAGE_RUN_NOTCHECKED !define MUI_FINISHPAGE_LINK $(PIDGIN_FINISH_VISIT_WEB_SITE) @@ -260,7 +261,7 @@ ReadRegStr $STARTUP_RUN_KEY HKCU "${STARTUP_RUN_KEY}" $R7 IfErrors +3 StrCpy $STARTUP_RUN_KEY "HKCU" - Goto +4 + Goto +5 ClearErrors ReadRegStr $STARTUP_RUN_KEY HKLM "${STARTUP_RUN_KEY}" $R7 IfErrors +2 @@ -282,7 +283,7 @@ ; If a previous version exists, remove it try_uninstall: - StrCmp $R1 "" done + StrCmp $R1 "" no_version_found ; Version key started with 0.60a3. Prior versions can't be ; automatically uninstalled. StrCmp $R2 "" uninstall_problem @@ -306,16 +307,18 @@ Delete "$TEMP\$R6" Goto uninstall_problem - uninstall_problem: + no_version_found: + ;We've already tried to fallback to an old gaim instance + StrCmp $R7 "Gaim" done ; If we couldn't uninstall Pidgin, try to uninstall Gaim - StrCmp $R4 ${PIDGIN_REG_KEY} cannot_uninstall + StrCpy $STARTUP_RUN_KEY "NONE" StrCpy $R4 ${OLD_GAIM_REG_KEY} StrCpy $R5 ${OLD_GAIM_UNINSTALL_KEY} StrCpy $R6 ${OLD_GAIM_UNINST_EXE} StrCpy $R7 "Gaim" Goto start_comparison - cannot_uninstall: + uninstall_problem: ; We can't uninstall. Either the user must manually uninstall or we ignore and reinstall over it. MessageBox MB_OKCANCEL $(PIDGIN_PROMPT_CONTINUE_WITHOUT_UNINSTALL) /SD IDOK IDOK done Quit @@ -1645,7 +1648,7 @@ StrCpy $R1 "$TEMP\aspell_installer.exe" StrCpy $R2 "${DOWNLOADER_URL}?version=${PIDGIN_VERSION}&dl_pkg=aspell_core" DetailPrint "Downloading Aspell... ($R2)" - NSISdl::download $R2 $R1 + NSISdl::download /TIMEOUT=10000 $R2 $R1 Pop $R0 StrCmp $R0 "success" +2 Goto done @@ -1685,7 +1688,7 @@ StrCpy $R1 "$TEMP\aspell_dict-$R0.exe" StrCpy $R3 "${DOWNLOADER_URL}?version=${PIDGIN_VERSION}&dl_pkg=lang_$R0" DetailPrint "Downloading the Aspell $R0 Dictionary... ($R3)" - NSISdl::download $R3 $R1 + NSISdl::download /TIMEOUT=10000 $R3 $R1 Pop $R3 StrCmp $R3 "success" +3 StrCpy $R0 $R3