# HG changeset patch # User Paul Aurich # Date 1244334425 0 # Node ID 08c6a0c88b2b95272a8033e84c32033c6acb60a3 # Parent d46acd32a18dbac09880ce9c0b3d29cb23cd4985# Parent 74c0031a2eb28fe2f52f8e42df2513ec189d6eee propagate from branch 'im.pidgin.pidgin' (head 505516826b01aed6390e0c2aa38706c0e2da163e) to branch 'im.pidgin.cpw.malu.client_type' (head 16f243728b922b28b331a8d06cfdcfe064a68f6b) diff -r d46acd32a18d -r 08c6a0c88b2b libpurple/protocols/yahoo/yahoo.c --- a/libpurple/protocols/yahoo/yahoo.c Sat Jun 06 06:51:38 2009 +0000 +++ b/libpurple/protocols/yahoo/yahoo.c Sun Jun 07 00:27:05 2009 +0000 @@ -1741,7 +1741,7 @@ break; case 1213: /* security lock from too many failed login attempts */ - error_reason = g_strdup(_("Account locked: Too many failed login attempts")); + error_reason = g_strdup(_("Account locked: Too many failed login attempts.\nLogging into the Yahoo! website may fix this.")); error = PURPLE_CONNECTION_ERROR_OTHER_ERROR; break; case 1235: @@ -1749,9 +1749,10 @@ error_reason = g_strdup(_("Username does not exist")); error = PURPLE_CONNECTION_ERROR_INVALID_USERNAME; break; + case 1214: case 1236: /* indicates a lock of some description */ - error_reason = g_strdup(_("Account locked: See the debug log")); + error_reason = g_strdup(_("Account locked: Unknown reason.\nLogging into the Yahoo! website may fix this.")); error = PURPLE_CONNECTION_ERROR_OTHER_ERROR; break; case 100: diff -r d46acd32a18d -r 08c6a0c88b2b libpurple/theme.c --- a/libpurple/theme.c Sat Jun 06 06:51:38 2009 +0000 +++ b/libpurple/theme.c Sun Jun 07 00:27:05 2009 +0000 @@ -241,9 +241,12 @@ static gchar * theme_clean_text(const gchar *text) { - gchar *clean_text = g_markup_escape_text(text, -1); - g_strdelimit(clean_text, "\n", ' '); - purple_str_strip_char(clean_text, '\r'); + gchar *clean_text = NULL; + if (text != NULL) { + clean_text = g_markup_escape_text(text, -1); + g_strdelimit(clean_text, "\n", ' '); + purple_str_strip_char(clean_text, '\r'); + } return clean_text; } @@ -389,9 +392,10 @@ { const gchar *filename = purple_theme_get_image(theme); - g_return_val_if_fail(filename, NULL); - - return g_build_filename(purple_theme_get_dir(PURPLE_THEME(theme)), filename, NULL); + if (filename) + return g_build_filename(purple_theme_get_dir(PURPLE_THEME(theme)), filename, NULL); + else + return NULL; } void diff -r d46acd32a18d -r 08c6a0c88b2b pidgin/pidginstock.c --- a/pidgin/pidginstock.c Sat Jun 06 06:51:38 2009 +0000 +++ b/pidgin/pidginstock.c Sun Jun 07 00:27:05 2009 +0000 @@ -114,120 +114,121 @@ }; typedef struct { - const char *name; - const char *dir; - const char *filename; - gboolean microscopic; - gboolean extra_small; - gboolean small; - gboolean medium; - gboolean large; - gboolean huge; - gboolean rtl; - const char *translucent_name; + const char *name; + const char *dir; + const char *filename; + gboolean microscopic; + gboolean extra_small; + gboolean small; + gboolean medium; + gboolean large; + gboolean huge; + gboolean rtl; + const char *translucent_name; } SizedStockIcon; const SizedStockIcon sized_stock_icons [] = { - { PIDGIN_STOCK_STATUS_IGNORED, "emblems", "blocked.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_STATUS_FOUNDER, "emblems", "founder.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_STATUS_OPERATOR, "emblems", "operator.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_STATUS_HALFOP, "emblems", "half-operator.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_STATUS_VOICE, "emblems", "voice.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_IGNORED, "emblems", "blocked.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_FOUNDER, "emblems", "founder.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_OPERATOR, "emblems", "operator.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_HALFOP, "emblems", "half-operator.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_VOICE, "emblems", "voice.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_DIALOG_AUTH, "dialogs", "auth.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, - { PIDGIN_STOCK_DIALOG_COOL, "dialogs", "cool.png", FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, - { PIDGIN_STOCK_DIALOG_ERROR, "dialogs", "error.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, - { PIDGIN_STOCK_DIALOG_INFO, "dialogs", "info.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, - { PIDGIN_STOCK_DIALOG_MAIL, "dialogs", "mail.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, - { PIDGIN_STOCK_DIALOG_QUESTION, "dialogs", "question.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, - { PIDGIN_STOCK_DIALOG_WARNING, "dialogs", "warning.png", FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, + { PIDGIN_STOCK_DIALOG_AUTH, "dialogs", "auth.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, + { PIDGIN_STOCK_DIALOG_COOL, "dialogs", "cool.png", FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, + { PIDGIN_STOCK_DIALOG_ERROR, "dialogs", "error.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, + { PIDGIN_STOCK_DIALOG_INFO, "dialogs", "info.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, + { PIDGIN_STOCK_DIALOG_MAIL, "dialogs", "mail.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, + { PIDGIN_STOCK_DIALOG_QUESTION, "dialogs", "question.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, + { PIDGIN_STOCK_DIALOG_WARNING, "dialogs", "warning.png", FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT0, "animations", "process-working0.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT1, "animations", "process-working1.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT2, "animations", "process-working2.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT3, "animations", "process-working3.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT4, "animations", "process-working4.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT5, "animations", "process-working5.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT6, "animations", "process-working6.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT7, "animations", "process-working7.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT8, "animations", "process-working8.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT9, "animations", "process-working9.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT10, "animations", "process-working10.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT11, "animations", "process-working11.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT12, "animations", "process-working12.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT13, "animations", "process-working13.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT14, "animations", "process-working14.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT15, "animations", "process-working15.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT16, "animations", "process-working16.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT17, "animations", "process-working17.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT18, "animations", "process-working18.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT19, "animations", "process-working19.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT20, "animations", "process-working20.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT21, "animations", "process-working21.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT22, "animations", "process-working22.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT23, "animations", "process-working23.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT24, "animations", "process-working24.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT25, "animations", "process-working25.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT26, "animations", "process-working26.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT27, "animations", "process-working27.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT28, "animations", "process-working28.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT29, "animations", "process-working29.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_CONNECT30, "animations", "process-working30.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_TYPING0, "animations", "typing0.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_TYPING1, "animations", "typing1.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_TYPING2, "animations", "typing2.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_TYPING3, "animations", "typing3.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_TYPING4, "animations", "typing4.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_ANIMATION_TYPING5, "animations", "typing5.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT0, "animations", "process-working0.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT1, "animations", "process-working1.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT2, "animations", "process-working2.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT3, "animations", "process-working3.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT4, "animations", "process-working4.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT5, "animations", "process-working5.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT6, "animations", "process-working6.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT7, "animations", "process-working7.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT8, "animations", "process-working8.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT9, "animations", "process-working9.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT10, "animations", "process-working10.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT11, "animations", "process-working11.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT12, "animations", "process-working12.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT13, "animations", "process-working13.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT14, "animations", "process-working14.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT15, "animations", "process-working15.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT16, "animations", "process-working16.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT17, "animations", "process-working17.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT18, "animations", "process-working18.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT19, "animations", "process-working19.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT20, "animations", "process-working20.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT21, "animations", "process-working21.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT22, "animations", "process-working22.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT23, "animations", "process-working23.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT24, "animations", "process-working24.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT25, "animations", "process-working25.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT26, "animations", "process-working26.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT27, "animations", "process-working27.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT28, "animations", "process-working28.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT29, "animations", "process-working29.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT30, "animations", "process-working30.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TOOLBAR_BGCOLOR, "toolbar", "change-bgcolor.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TOOLBAR_BLOCK, "emblems", "blocked.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TOOLBAR_FGCOLOR, "toolbar", "change-fgcolor.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TOOLBAR_SMILEY, "toolbar", "emote-select.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TOOLBAR_FONT_FACE, "toolbar", "font-face.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TOOLBAR_TEXT_SMALLER, "toolbar", "font-size-down.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TOOLBAR_TEXT_LARGER, "toolbar", "font-size-up.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TOOLBAR_INSERT, "toolbar", "insert.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TOOLBAR_INSERT_IMAGE, "toolbar", "insert-image.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TOOLBAR_INSERT_LINK, "toolbar", "insert-link.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TOOLBAR_MESSAGE_NEW, "toolbar", "message-new.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TOOLBAR_PENDING, "toolbar", "message-new.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TOOLBAR_PLUGINS, "toolbar", "plugins.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TOOLBAR_UNBLOCK, "toolbar", "unblock.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TOOLBAR_SELECT_AVATAR, "toolbar", "select-avatar.png", FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TOOLBAR_SEND_FILE, "toolbar", "send-file.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TOOLBAR_TRANSFER, "toolbar", "transfer.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_TYPING0, "animations", "typing0.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_TYPING1, "animations", "typing1.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_TYPING2, "animations", "typing2.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_TYPING3, "animations", "typing3.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_TYPING4, "animations", "typing4.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_TYPING5, "animations", "typing5.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + + { PIDGIN_STOCK_TOOLBAR_BGCOLOR, "toolbar", "change-bgcolor.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_BLOCK, "emblems", "blocked.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_FGCOLOR, "toolbar", "change-fgcolor.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_SMILEY, "toolbar", "emote-select.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_FONT_FACE, "toolbar", "font-face.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_TEXT_SMALLER, "toolbar", "font-size-down.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_TEXT_LARGER, "toolbar", "font-size-up.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_INSERT, "toolbar", "insert.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_INSERT_IMAGE, "toolbar", "insert-image.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_INSERT_LINK, "toolbar", "insert-link.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_MESSAGE_NEW, "toolbar", "message-new.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_PENDING, "toolbar", "message-new.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_PLUGINS, "toolbar", "plugins.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_UNBLOCK, "toolbar", "unblock.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_SELECT_AVATAR, "toolbar", "select-avatar.png", FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_SEND_FILE, "toolbar", "send-file.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_TRANSFER, "toolbar", "transfer.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, #ifdef USE_VV - { PIDGIN_STOCK_TOOLBAR_AUDIO_CALL, "toolbar", "audio-call.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TOOLBAR_VIDEO_CALL, "toolbar", "video-call.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TOOLBAR_AUDIO_VIDEO_CALL, "toolbar", "audio-video-call.png", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_AUDIO_CALL, "toolbar", "audio-call.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_VIDEO_CALL, "toolbar", "video-call.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_AUDIO_VIDEO_CALL, "toolbar", "audio-video-call.png", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, #endif }; const SizedStockIcon sized_status_icons [] = { - { PIDGIN_STOCK_STATUS_AVAILABLE, "status", "available.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_AVAILABLE_I }, - { PIDGIN_STOCK_STATUS_AWAY, "status", "away.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_AWAY_I }, - { PIDGIN_STOCK_STATUS_BUSY, "status", "busy.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_BUSY_I }, - { PIDGIN_STOCK_STATUS_CHAT, "status", "chat.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_STATUS_INVISIBLE, "status", "invisible.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_STATUS_XA, "status", "extended-away.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, PIDGIN_STOCK_STATUS_XA_I }, - { PIDGIN_STOCK_STATUS_LOGIN, "status", "log-in.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL }, - { PIDGIN_STOCK_STATUS_LOGOUT, "status", "log-out.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL }, - { PIDGIN_STOCK_STATUS_OFFLINE, "status", "offline.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_OFFLINE_I }, - { PIDGIN_STOCK_STATUS_PERSON, "status", "person.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_STATUS_MESSAGE, "toolbar", "message-new.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_AVAILABLE, "status", "available.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_AVAILABLE_I }, + { PIDGIN_STOCK_STATUS_AWAY, "status", "away.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_AWAY_I }, + { PIDGIN_STOCK_STATUS_BUSY, "status", "busy.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_BUSY_I }, + { PIDGIN_STOCK_STATUS_CHAT, "status", "chat.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_INVISIBLE, "status", "invisible.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_XA, "status", "extended-away.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, PIDGIN_STOCK_STATUS_XA_I }, + { PIDGIN_STOCK_STATUS_LOGIN, "status", "log-in.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL }, + { PIDGIN_STOCK_STATUS_LOGOUT, "status", "log-out.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL }, + { PIDGIN_STOCK_STATUS_OFFLINE, "status", "offline.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_OFFLINE_I }, + { PIDGIN_STOCK_STATUS_PERSON, "status", "person.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_MESSAGE, "toolbar", "message-new.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TRAY_AVAILABLE, "tray", "tray-online.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TRAY_INVISIBLE, "tray", "tray-invisible.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TRAY_AWAY, "tray", "tray-away.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TRAY_BUSY, "tray", "tray-busy.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TRAY_XA, "tray", "tray-extended-away.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TRAY_OFFLINE, "tray", "tray-offline.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TRAY_CONNECT, "tray", "tray-connecting.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TRAY_PENDING, "tray", "tray-new-im.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, - { PIDGIN_STOCK_TRAY_EMAIL, "tray", "tray-message.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL } + { PIDGIN_STOCK_TRAY_AVAILABLE, "tray", "tray-online.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_INVISIBLE, "tray", "tray-invisible.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_AWAY, "tray", "tray-away.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_BUSY, "tray", "tray-busy.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_XA, "tray", "tray-extended-away.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_OFFLINE, "tray", "tray-offline.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_CONNECT, "tray", "tray-connecting.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_PENDING, "tray", "tray-new-im.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_EMAIL, "tray", "tray-message.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL } }; /***************************************************************************** @@ -287,36 +288,36 @@ static void do_alphashift(GdkPixbuf *dest, GdkPixbuf *src) { - gint i, j; - gint width, height, has_alpha, srcrowstride, destrowstride; - guchar *target_pixels; - guchar *original_pixels; - guchar *pixsrc; - guchar *pixdest; - guchar a; + gint i, j; + gint width, height, has_alpha, srcrowstride, destrowstride; + guchar *target_pixels; + guchar *original_pixels; + guchar *pixsrc; + guchar *pixdest; + guchar a; - has_alpha = gdk_pixbuf_get_has_alpha (src); - if (!has_alpha) - return; + has_alpha = gdk_pixbuf_get_has_alpha (src); + if (!has_alpha) + return; - width = gdk_pixbuf_get_width (src); - height = gdk_pixbuf_get_height (src); - srcrowstride = gdk_pixbuf_get_rowstride (src); - destrowstride = gdk_pixbuf_get_rowstride (dest); - target_pixels = gdk_pixbuf_get_pixels (dest); - original_pixels = gdk_pixbuf_get_pixels (src); + width = gdk_pixbuf_get_width (src); + height = gdk_pixbuf_get_height (src); + srcrowstride = gdk_pixbuf_get_rowstride (src); + destrowstride = gdk_pixbuf_get_rowstride (dest); + target_pixels = gdk_pixbuf_get_pixels (dest); + original_pixels = gdk_pixbuf_get_pixels (src); - for (i = 0; i < height; i++) { - pixdest = target_pixels + i*destrowstride; - pixsrc = original_pixels + i*srcrowstride; - for (j = 0; j < width; j++) { - *(pixdest++) = *(pixsrc++); - *(pixdest++) = *(pixsrc++); - *(pixdest++) = *(pixsrc++); - a = *(pixsrc++); - *(pixdest++) = a / 2; - } - } + for (i = 0; i < height; i++) { + pixdest = target_pixels + i*destrowstride; + pixsrc = original_pixels + i*srcrowstride; + for (j = 0; j < width; j++) { + *(pixdest++) = *(pixsrc++); + *(pixdest++) = *(pixsrc++); + *(pixdest++) = *(pixsrc++); + a = *(pixsrc++); + *(pixdest++) = a / 2; + } + } } static gchar * @@ -434,9 +435,9 @@ if (theme != NULL) { purple_prefs_set_string(PIDGIN_PREFS_ROOT "/status/icon-theme", - purple_theme_get_name(PURPLE_THEME(theme))); + purple_theme_get_name(PURPLE_THEME(theme))); purple_prefs_set_path(PIDGIN_PREFS_ROOT "/status/icon-theme-dir", - purple_theme_get_dir(PURPLE_THEME(theme))); + purple_theme_get_dir(PURPLE_THEME(theme))); } else { purple_prefs_set_string(PIDGIN_PREFS_ROOT "/status/icon-theme", ""); @@ -456,11 +457,12 @@ if (sized_status_icons[i].translucent_name) translucent = gtk_icon_set_new(); -#define ADD_SIZED_ICON(name, size) if (sized_status_icons[i].name) { \ - add_sized_icon(normal, name, PIDGIN_ICON_THEME(theme), size, sized_status_icons[i], FALSE); \ - if (sized_status_icons[i].translucent_name) \ - add_sized_icon(translucent, name, PIDGIN_ICON_THEME(theme), size, sized_status_icons[i], TRUE); \ - } +#define ADD_SIZED_ICON(name, size) \ + if (sized_status_icons[i].name) { \ + add_sized_icon(normal, name, PIDGIN_ICON_THEME(theme), size, sized_status_icons[i], FALSE); \ + if (sized_status_icons[i].translucent_name) \ + add_sized_icon(translucent, name, PIDGIN_ICON_THEME(theme), size, sized_status_icons[i], TRUE); \ + } ADD_SIZED_ICON(microscopic, "11"); ADD_SIZED_ICON(extra_small, "16"); ADD_SIZED_ICON(small, "22"); @@ -478,7 +480,6 @@ } } - gtk_widget_destroy(win); g_object_unref(G_OBJECT(icon_factory)); reload_settings(); @@ -493,9 +494,9 @@ if (theme != NULL) { purple_prefs_set_string(PIDGIN_PREFS_ROOT "/stock/icon-theme", - purple_theme_get_name(PURPLE_THEME(theme))); + purple_theme_get_name(PURPLE_THEME(theme))); purple_prefs_set_path(PIDGIN_PREFS_ROOT "/stock/icon-theme-dir", - purple_theme_get_dir(PURPLE_THEME(theme))); + purple_theme_get_dir(PURPLE_THEME(theme))); } else { purple_prefs_set_string(PIDGIN_PREFS_ROOT "/stock/icon-theme", ""); @@ -548,8 +549,9 @@ { GtkIconSet *iconset = gtk_icon_set_new(); -#define ADD_SIZED_ICON(name, size) if (sized_stock_icons[i].name) \ - add_sized_icon(iconset, name, PIDGIN_ICON_THEME(theme), size, sized_stock_icons[i], FALSE); +#define ADD_SIZED_ICON(name, size) \ + if (sized_stock_icons[i].name) \ + add_sized_icon(iconset, name, PIDGIN_ICON_THEME(theme), size, sized_stock_icons[i], FALSE); ADD_SIZED_ICON(microscopic, "11"); ADD_SIZED_ICON(extra_small, "16"); ADD_SIZED_ICON(small, "22"); @@ -592,10 +594,10 @@ /* register custom icon sizes */ microscopic = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_MICROSCOPIC, 11, 11); extra_small = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL, 16, 16); - small = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_SMALL, 22, 22); - medium = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_MEDIUM, 32, 32); - large = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_LARGE, 48, 48); - huge = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_HUGE, 64, 64); + small = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_SMALL, 22, 22); + medium = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_MEDIUM, 32, 32); + large = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_LARGE, 48, 48); + huge = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_HUGE, 64, 64); pidgin_stock_load_stock_icon_theme(NULL); @@ -607,7 +609,9 @@ pidgin_stock_load_status_icon_theme(theme); g_object_unref(G_OBJECT(theme)); - } else pidgin_stock_load_status_icon_theme(NULL); + } + else + pidgin_stock_load_status_icon_theme(NULL); /* Register the stock items. */ gtk_stock_add_static(stock_items, G_N_ELEMENTS(stock_items)); diff -r d46acd32a18d -r 08c6a0c88b2b pidgin/plugins/disco/gtkdisco.c --- a/pidgin/plugins/disco/gtkdisco.c Sat Jun 06 06:51:38 2009 +0000 +++ b/pidgin/plugins/disco/gtkdisco.c Sun Jun 07 00:27:05 2009 +0000 @@ -565,14 +565,14 @@ if (service->type == XMPP_DISCO_SERVICE_TYPE_GATEWAY && service->gateway_type) { char *tmp = g_strconcat(service->gateway_type, ".png", NULL); - filename = g_build_filename(DATADIR, "pixmaps", "pidgin", "protocols", "22", tmp, NULL); + filename = g_build_filename(DATADIR, "pixmaps", "pidgin", "protocols", "16", tmp, NULL); g_free(tmp); #if 0 } else if (service->type == XMPP_DISCO_SERVICE_TYPE_USER) { - filename = g_build_filename(DATADIR, "pixmaps", "pidgin", "status", "22", "person.png", NULL); + filename = g_build_filename(DATADIR, "pixmaps", "pidgin", "status", "16", "person.png", NULL); #endif } else if (service->type == XMPP_DISCO_SERVICE_TYPE_CHAT) - filename = g_build_filename(DATADIR, "pixmaps", "pidgin", "status", "22", "chat.png", NULL); + filename = g_build_filename(DATADIR, "pixmaps", "pidgin", "status", "16", "chat.png", NULL); if (filename) { pixbuf = gdk_pixbuf_new_from_file(filename, NULL); diff -r d46acd32a18d -r 08c6a0c88b2b pidgin/plugins/disco/xmppdisco.c --- a/pidgin/plugins/disco/xmppdisco.c Sat Jun 06 06:51:38 2009 +0000 +++ b/pidgin/plugins/disco/xmppdisco.c Sun Jun 07 00:27:05 2009 +0000 @@ -473,6 +473,7 @@ struct item_data *cb_data = data; PidginDiscoList *list = cb_data->list; xmlnode *query; + xmlnode *error; gboolean items = FALSE; --list->fetch_count; @@ -489,16 +490,26 @@ break; } } + + if (items) { + xmpp_disco_items_do(pc, cb_data, from, NULL /* node */, server_items_cb); + ++list->fetch_count; + pidgin_disco_list_ref(list); + } } - - if (items) { - xmpp_disco_items_do(pc, cb_data, from, NULL /* node */, server_items_cb); - ++list->fetch_count; - pidgin_disco_list_ref(list); - } else { - purple_notify_error(my_plugin, _("Error"), - _("Server does not support service discovery"), - NULL); + else { + error = xmlnode_get_child(iq, "error"); + if (xmlnode_get_child(error, "remote-server-not-found") + || xmlnode_get_child(error, "jid-malformed")) { + purple_notify_error(my_plugin, _("Error"), + _("Server does not exist"), + NULL); + } + else { + purple_notify_error(my_plugin, _("Error"), + _("Server does not support service discovery"), + NULL); + } pidgin_disco_list_set_in_progress(list, FALSE); g_free(cb_data); } diff -r d46acd32a18d -r 08c6a0c88b2b pidgin/plugins/themeedit-icon.h --- a/pidgin/plugins/themeedit-icon.h Sat Jun 06 06:51:38 2009 +0000 +++ b/pidgin/plugins/themeedit-icon.h Sun Jun 07 00:27:05 2009 +0000 @@ -1,2 +1,28 @@ +/* Pidgin + * + * Pidgin is the legal property of its developers, whose names are too numerous + * to list here. Please refer to the COPYRIGHT file distributed with this + * source distribution. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA + */ + +#ifndef _THEMEEDIT_ICON_H_ +#define _THEMEEDIT_ICON_H_ + void pidgin_icon_theme_edit(PurplePluginAction *); +#endif + diff -r d46acd32a18d -r 08c6a0c88b2b pidgin/plugins/xmppconsole.c --- a/pidgin/plugins/xmppconsole.c Sat Jun 06 06:51:38 2009 +0000 +++ b/pidgin/plugins/xmppconsole.c Sun Jun 07 00:27:05 2009 +0000 @@ -62,58 +62,62 @@ g_return_val_if_fail(node != NULL, NULL); - if(pretty && depth) { + if (pretty && depth) { tab = g_strnfill(depth, '\t'); text = g_string_append(text, tab); } node_name = g_markup_escape_text(node->name, -1); - g_string_append_printf(text, "<%s", node_name); + g_string_append_printf(text, + "<" + "%s", + node_name); if (node->xmlns) { - if((!node->parent || - !node->parent->xmlns || - strcmp(node->xmlns, node->parent->xmlns)) && - strcmp(node->xmlns, "jabber:client")) + if ((!node->parent || + !node->parent->xmlns || + strcmp(node->xmlns, node->parent->xmlns)) && + strcmp(node->xmlns, "jabber:client")) { char *xmlns = g_markup_escape_text(node->xmlns, -1); - g_string_append_printf(text, " xmlns='%s'", xmlns); + g_string_append_printf(text, + " xmlns=" + "'%s'", + xmlns); g_free(xmlns); } } - for(c = node->child; c; c = c->next) + for (c = node->child; c; c = c->next) { - if(c->type == XMLNODE_TYPE_ATTRIB) { + if (c->type == XMLNODE_TYPE_ATTRIB) { esc = g_markup_escape_text(c->name, -1); esc2 = g_markup_escape_text(c->data, -1); - g_string_append_printf(text, " %s='%s'", esc, esc2); + g_string_append_printf(text, + " %s=" + "'%s'", + esc, esc2); g_free(esc); g_free(esc2); - } else if(c->type == XMLNODE_TYPE_TAG || c->type == XMLNODE_TYPE_DATA) { - if(c->type == XMLNODE_TYPE_DATA) + } else if (c->type == XMLNODE_TYPE_TAG || c->type == XMLNODE_TYPE_DATA) { + if (c->type == XMLNODE_TYPE_DATA) pretty = FALSE; need_end = TRUE; } } - if(need_end) { - g_string_append_printf(text, - ">%s", pretty ? "
" : ""); + if (need_end) { + g_string_append_printf(text, + ">%s", + pretty ? "
" : ""); - for(c = node->child; c; c = c->next) + for (c = node->child; c; c = c->next) { - if(c->type == XMLNODE_TYPE_TAG) { + if (c->type == XMLNODE_TYPE_TAG) { int esc_len; esc = xmlnode_to_pretty_str(c, &esc_len, depth+1); text = g_string_append_len(text, esc, esc_len); g_free(esc); - } else if(c->type == XMLNODE_TYPE_DATA && c->data_sz > 0) { + } else if (c->type == XMLNODE_TYPE_DATA && c->data_sz > 0) { esc = g_markup_escape_text(c->data, c->data_sz); text = g_string_append(text, esc); g_free(esc); @@ -122,11 +126,14 @@ if(tab && pretty) text = g_string_append(text, tab); - g_string_append_printf(text, "</%s>
", node_name); + g_string_append_printf(text, + "</" + "%s" + ">
", + node_name); } else { - g_string_append_printf(text, "/>
"); + g_string_append_printf(text, + "/>
"); } g_free(node_name); @@ -163,10 +170,10 @@ if (!console || console->gc != gc) return; node = xmlnode_from_str(*packet, -1); - + if (!node) return; - + str = xmlnode_to_pretty_str(node, NULL, 0); formatted = g_strdup_printf("
%s
", str); gtk_imhtml_append_text(GTK_IMHTML(console->imhtml), formatted, 0); @@ -204,37 +211,35 @@ static void entry_changed_cb(GtkTextBuffer *buffer, void *data) { char *xmlstr, *str; - GtkTextIter iter; - int wrapped_lines; - int lines; - GdkRectangle oneline; - int height; - int pad_top, pad_inside, pad_bottom; + GtkTextIter iter; + int wrapped_lines; + int lines; + GdkRectangle oneline; + int height; + int pad_top, pad_inside, pad_bottom; GtkTextIter start, end; xmlnode *node; - - wrapped_lines = 1; - gtk_text_buffer_get_start_iter(buffer, &iter); - gtk_text_view_get_iter_location(GTK_TEXT_VIEW(console->entry), &iter, &oneline); - while (gtk_text_view_forward_display_line(GTK_TEXT_VIEW(console->entry), &iter)) - wrapped_lines++; - lines = gtk_text_buffer_get_line_count(buffer); + wrapped_lines = 1; + gtk_text_buffer_get_start_iter(buffer, &iter); + gtk_text_view_get_iter_location(GTK_TEXT_VIEW(console->entry), &iter, &oneline); + while (gtk_text_view_forward_display_line(GTK_TEXT_VIEW(console->entry), &iter)) + wrapped_lines++; + + lines = gtk_text_buffer_get_line_count(buffer); - /* Show a maximum of 64 lines */ - lines = MIN(lines, 6); - wrapped_lines = MIN(wrapped_lines, 6); + /* Show a maximum of 64 lines */ + lines = MIN(lines, 6); + wrapped_lines = MIN(wrapped_lines, 6); - pad_top = gtk_text_view_get_pixels_above_lines(GTK_TEXT_VIEW(console->entry)); - pad_bottom = gtk_text_view_get_pixels_below_lines(GTK_TEXT_VIEW(console->entry)); - pad_inside = gtk_text_view_get_pixels_inside_wrap(GTK_TEXT_VIEW(console->entry)); + pad_top = gtk_text_view_get_pixels_above_lines(GTK_TEXT_VIEW(console->entry)); + pad_bottom = gtk_text_view_get_pixels_below_lines(GTK_TEXT_VIEW(console->entry)); + pad_inside = gtk_text_view_get_pixels_inside_wrap(GTK_TEXT_VIEW(console->entry)); - height = (oneline.height + pad_top + pad_bottom) * lines; - height += (oneline.height + pad_inside) * (wrapped_lines - lines); + height = (oneline.height + pad_top + pad_bottom) * lines; + height += (oneline.height + pad_inside) * (wrapped_lines - lines); - gtk_widget_set_size_request(console->sw, -1, height+6); - - + gtk_widget_set_size_request(console->sw, -1, height + 6); gtk_text_buffer_get_start_iter(buffer, &start); gtk_text_buffer_get_end_iter(buffer, &end); @@ -287,7 +292,7 @@ to_entry = gtk_entry_new(); gtk_entry_set_activates_default (GTK_ENTRY (to_entry), TRUE); gtk_box_pack_start(GTK_BOX(hbox), to_entry, FALSE, FALSE, 0); - + hbox = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("Type:"); @@ -302,7 +307,7 @@ gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "error"); gtk_combo_box_set_active(GTK_COMBO_BOX(type_combo), 0); gtk_box_pack_start(GTK_BOX(hbox), type_combo, FALSE, FALSE, 0); - + gtk_widget_show_all(GTK_DIALOG(dialog)->vbox); result = gtk_dialog_run(GTK_DIALOG(dialog)); @@ -310,16 +315,16 @@ gtk_widget_destroy(dialog); return; } - + to = gtk_entry_get_text(GTK_ENTRY(to_entry)); - stanza = g_strdup_printf("", + stanza = g_strdup_printf("", to && *to ? "to='" : "", to && *to ? to : "", to && *to ? "'" : "", g_random_int(), gtk_combo_box_get_active_text(GTK_COMBO_BOX(type_combo))); - + buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(console->entry)); gtk_text_buffer_set_text(buffer, stanza, -1); gtk_text_buffer_get_iter_at_offset(buffer, &iter, strstr(stanza, "") - stanza); @@ -328,25 +333,24 @@ gtk_widget_destroy(dialog); g_object_unref(sg); - } static void presence_clicked_cb(GtkWidget *w, gpointer nul) { - GtkWidget *hbox, - *to_entry, - *status_entry, - *priority_entry, - *label, - *show_combo, - *type_combo; + GtkWidget *hbox; + GtkWidget *to_entry; + GtkWidget *status_entry; + GtkWidget *priority_entry; + GtkWidget *label; + GtkWidget *show_combo; + GtkWidget *type_combo; GtkSizeGroup *sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); GtkTextIter iter; GtkTextBuffer *buffer; const char *to, *type, *status, *show, *priority; int result; char *stanza; - + GtkWidget *dialog = gtk_dialog_new_with_buttons("", GTK_WINDOW(console->window), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, @@ -370,7 +374,7 @@ to_entry = gtk_entry_new(); gtk_entry_set_activates_default (GTK_ENTRY (to_entry), TRUE); gtk_box_pack_start(GTK_BOX(hbox), to_entry, FALSE, FALSE, 0); - + hbox = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("Type:"); @@ -417,7 +421,6 @@ gtk_entry_set_activates_default (GTK_ENTRY (status_entry), TRUE); gtk_box_pack_start(GTK_BOX(hbox), status_entry, FALSE, FALSE, 0); - hbox = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), hbox, FALSE, FALSE, 0); @@ -430,7 +433,6 @@ gtk_spin_button_set_value(GTK_SPIN_BUTTON(priority_entry), 0); gtk_box_pack_start(GTK_BOX(hbox), priority_entry, FALSE, FALSE, 0); - gtk_widget_show_all(GTK_DIALOG(dialog)->vbox); result = gtk_dialog_run(GTK_DIALOG(dialog)); @@ -438,7 +440,7 @@ gtk_widget_destroy(dialog); return; } - + to = gtk_entry_get_text(GTK_ENTRY(to_entry)); type = gtk_combo_box_get_active_text(GTK_COMBO_BOX(type_combo)); if (!strcmp(type, "default")) @@ -451,32 +453,30 @@ if (!strcmp(priority, "0")) priority = ""; + stanza = g_strdup_printf("" + "%s%s%s%s%s%s%s%s%s" + "", + *to ? "to='" : "", + *to ? to : "", + *to ? "'" : "", + g_random_int(), + *type ? "type='" : "", + *type ? type : "", + *type ? "'" : "", - stanza = g_strdup_printf("" - "%s%s%s%s%s%s%s%s%s" - "", - *to ? "to='" : "", - *to ? to : "", - *to ? "'" : "", - g_random_int(), - - *type ? "type='" : "", - *type ? type : "", - *type ? "'" : "", - - *show ? "" : "", - *show ? show : "", - *show ? "" : "", + *show ? "" : "", + *show ? show : "", + *show ? "" : "", - *status ? "" : "", - *status ? status : "", - *status ? "" : "", - - *priority ? "" : "", - *priority ? priority : "", - *priority ? "" : ""); - + *status ? "" : "", + *status ? status : "", + *status ? "" : "", + + *priority ? "" : "", + *priority ? priority : "", + *priority ? "" : ""); + buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(console->entry)); gtk_text_buffer_set_text(buffer, stanza, -1); gtk_text_buffer_get_iter_at_offset(buffer, &iter, strstr(stanza, "") - stanza); @@ -489,13 +489,13 @@ static void message_clicked_cb(GtkWidget *w, gpointer nul) { - GtkWidget *hbox, - *to_entry, - *body_entry, - *thread_entry, - *subject_entry, - *label, - *type_combo; + GtkWidget *hbox; + GtkWidget *to_entry; + GtkWidget *body_entry; + GtkWidget *thread_entry; + GtkWidget *subject_entry; + GtkWidget *label; + GtkWidget *type_combo; GtkSizeGroup *sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); GtkTextIter iter; GtkTextBuffer *buffer; @@ -554,7 +554,6 @@ gtk_entry_set_activates_default (GTK_ENTRY (body_entry), TRUE); gtk_box_pack_start(GTK_BOX(hbox), body_entry, FALSE, FALSE, 0); - hbox = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), hbox, FALSE, FALSE, 0); @@ -578,7 +577,7 @@ thread_entry = gtk_entry_new(); gtk_entry_set_activates_default (GTK_ENTRY (thread_entry), TRUE); gtk_box_pack_start(GTK_BOX(hbox), thread_entry, FALSE, FALSE, 0); - + gtk_widget_show_all(GTK_DIALOG(dialog)->vbox); result = gtk_dialog_run(GTK_DIALOG(dialog)); @@ -586,34 +585,34 @@ gtk_widget_destroy(dialog); return; } - + to = gtk_entry_get_text(GTK_ENTRY(to_entry)); body = gtk_entry_get_text(GTK_ENTRY(body_entry)); thread = gtk_entry_get_text(GTK_ENTRY(thread_entry)); subject = gtk_entry_get_text(GTK_ENTRY(subject_entry)); stanza = g_strdup_printf("" - "%s%s%s%s%s%s%s%s%s" - "", - - *to ? "to='" : "", - *to ? to : "", - *to ? "'" : "", - g_random_int(), - gtk_combo_box_get_active_text(GTK_COMBO_BOX(type_combo)), - - *body ? "" : "", - *body ? body : "", - *body ? "" : "", - - *subject ? "" : "", - *subject ? subject : "", - *subject ? "" : "", - - *thread ? "" : "", - *thread ? thread : "", - *thread ? "" : ""); - + "%s%s%s%s%s%s%s%s%s" + "", + + *to ? "to='" : "", + *to ? to : "", + *to ? "'" : "", + g_random_int(), + gtk_combo_box_get_active_text(GTK_COMBO_BOX(type_combo)), + + *body ? "" : "", + *body ? body : "", + *body ? "" : "", + + *subject ? "" : "", + *subject ? subject : "", + *subject ? "" : "", + + *thread ? "" : "", + *thread ? thread : "", + *thread ? "" : ""); + buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(console->entry)); gtk_text_buffer_set_text(buffer, stanza, -1); gtk_text_buffer_get_iter_at_offset(buffer, &iter, strstr(stanza, "") - stanza); @@ -629,11 +628,11 @@ { if (!console) return; - + gtk_combo_box_append_text(GTK_COMBO_BOX(console->dropdown), purple_account_get_username(gc->account)); console->accounts = g_list_append(console->accounts, gc); console->count++; - + if (console->count > 1) gtk_widget_show_all(console->hbox); } @@ -666,7 +665,7 @@ if (gc == console->gc) { console->gc = NULL; - gtk_imhtml_append_text(GTK_IMHTML(console->imhtml), + gtk_imhtml_append_text(GTK_IMHTML(console->imhtml), _("Logged out."), 0); } } @@ -689,7 +688,7 @@ plugin, PURPLE_CALLBACK(signed_on_cb), NULL); purple_signal_connect(purple_connections_get_handle(), "signed-off", plugin, PURPLE_CALLBACK(signed_off_cb), NULL); - + return TRUE; } @@ -716,18 +715,18 @@ if (!console) return; - - account = purple_accounts_find(gtk_combo_box_get_active_text(GTK_COMBO_BOX(console->dropdown)), + + account = purple_accounts_find(gtk_combo_box_get_active_text(GTK_COMBO_BOX(console->dropdown)), "prpl-jabber"); if (!account || !account->gc) return; - + console->gc = account->gc; gtk_imhtml_clear(GTK_IMHTML(console->imhtml)); } -static void -create_console(PurplePluginAction *action) +static void +create_console(PurplePluginAction *action) { GtkWidget *vbox = gtk_vbox_new(FALSE, 6); GtkWidget *sw = gtk_scrolled_window_new(NULL, NULL); @@ -743,7 +742,7 @@ gtk_window_present(GTK_WINDOW(console->window)); return; } - + console = g_new0(XmppConsole, 1); console->window = pidgin_create_window(_("XMPP Console"), PIDGIN_HIG_BORDER, NULL, TRUE); @@ -773,32 +772,32 @@ g_signal_connect(G_OBJECT(console->dropdown), "changed", G_CALLBACK(dropdown_changed_cb), NULL); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_ETCHED_IN); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); console->imhtml = gtk_imhtml_new(NULL, NULL); gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); if (console->count == 0) - gtk_imhtml_append_text(GTK_IMHTML(console->imhtml), + gtk_imhtml_append_text(GTK_IMHTML(console->imhtml), _("Not connected to XMPP"), 0); gtk_container_add(GTK_CONTAINER(sw), console->imhtml); - + toolbar = gtk_toolbar_new(); -#if GTK_CHECK_VERSION(2,4,0) +#if GTK_CHECK_VERSION(2,4,0) button = gtk_tool_button_new(NULL, ""); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(iq_clicked_cb), NULL); gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(button)); #else - gtk_toolbar_append_item(GTK_TOOLBAR(toolbar), "", + gtk_toolbar_append_item(GTK_TOOLBAR(toolbar), "", _("Insert an stanza."), "foo", NULL, GTK_SIGNAL_FUNC(iq_clicked_cb), NULL); #endif -#if GTK_CHECK_VERSION(2,4,0) +#if GTK_CHECK_VERSION(2,4,0) button = gtk_tool_button_new(NULL, ""); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(presence_clicked_cb), NULL); gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(button)); #else - gtk_toolbar_append_item(GTK_TOOLBAR(toolbar), "", + gtk_toolbar_append_item(GTK_TOOLBAR(toolbar), "", _("Insert a stanza."), NULL, gtk_label_new(NULL), GTK_SIGNAL_FUNC(presence_clicked_cb), NULL); #endif @@ -807,17 +806,17 @@ g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(message_clicked_cb), NULL); gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(button)); #else - gtk_toolbar_append_item(GTK_TOOLBAR(toolbar), "", + gtk_toolbar_append_item(GTK_TOOLBAR(toolbar), "", _("Insert a stanza."), "foo", gtk_label_new(NULL), GTK_SIGNAL_FUNC(message_clicked_cb), NULL); #endif - + gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0); - + sw = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_ETCHED_IN); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - + console->entry = gtk_imhtml_new(NULL, NULL); gtk_imhtml_set_whole_buffer_formatting_only(GTK_IMHTML(console->entry), TRUE); g_signal_connect(G_OBJECT(console->entry),"message_send", G_CALLBACK(message_send_cb), console); @@ -843,7 +842,7 @@ act = purple_plugin_action_new(_("XMPP Console"), create_console); l = g_list_append(l, act); - + return l; } @@ -853,28 +852,28 @@ PURPLE_PLUGIN_MAGIC, PURPLE_MAJOR_VERSION, PURPLE_MINOR_VERSION, - PURPLE_PLUGIN_STANDARD, /**< type */ - PIDGIN_PLUGIN_TYPE, /**< ui_requirement */ - 0, /**< flags */ - NULL, /**< dependencies */ - PURPLE_PRIORITY_DEFAULT, /**< priority */ + PURPLE_PLUGIN_STANDARD, /**< type */ + PIDGIN_PLUGIN_TYPE, /**< ui_requirement */ + 0, /**< flags */ + NULL, /**< dependencies */ + PURPLE_PRIORITY_DEFAULT, /**< priority */ - "gtk-xmpp", /**< id */ - N_("XMPP Console"), /**< name */ - DISPLAY_VERSION, /**< version */ - /** summary */ + "gtk-xmpp", /**< id */ + N_("XMPP Console"), /**< name */ + DISPLAY_VERSION, /**< version */ + /** summary */ N_("Send and receive raw XMPP stanzas."), - /** description */ + /** description */ N_("This plugin is useful for debbuging XMPP servers or clients."), - "Sean Egan ", /**< author */ - PURPLE_WEBSITE, /**< homepage */ + "Sean Egan ", /**< author */ + PURPLE_WEBSITE, /**< homepage */ - plugin_load, /**< load */ - plugin_unload, /**< unload */ - NULL, /**< destroy */ + plugin_load, /**< load */ + plugin_unload, /**< unload */ + NULL, /**< destroy */ NULL, /**< ui_info */ - NULL, /**< extra_info */ + NULL, /**< extra_info */ NULL, actions, diff -r d46acd32a18d -r 08c6a0c88b2b po/ca.po --- a/po/ca.po Sat Jun 06 06:51:38 2009 +0000 +++ b/po/ca.po Sun Jun 07 00:27:05 2009 +0000 @@ -33,8 +33,8 @@ msgstr "" "Project-Id-Version: Pidgin\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-05-17 14:59+0200\n" -"PO-Revision-Date: 2009-05-17 15:05+0200\n" +"POT-Creation-Date: 2009-06-06 22:44+0200\n" +"PO-Revision-Date: 2009-06-06 22:51+0200\n" "Last-Translator: Josep Puigdemont i Casamajó \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" @@ -3198,6 +3198,10 @@ msgid "Chat _name:" msgstr "_Nom del xat:" +#. should this be a settings error? +msgid "Unable to resolve server" +msgstr "No s'ha pogut resoldre el nom del servidor" + msgid "Chat error" msgstr "Error en el xat" @@ -3246,6 +3250,9 @@ msgid "Gadu-Gadu User" msgstr "Usuari Gadu-Gadu" +msgid "GG server" +msgstr "Servidor GG" + #, c-format msgid "Unknown command: %s" msgstr "Ordre desconeguda: %s" @@ -3288,8 +3295,9 @@ msgid "_Password:" msgstr "_Contrasenya:" -msgid "IRC nicks may not contain whitespace" -msgstr "Els sobrenoms d'IRC no poden contenir espais en blanc" +msgid "IRC nick and server may not contain whitespace" +msgstr "" +"Els sobrenoms i els noms de servidor d'IRC no poden contenir espais en blanc" #. 1. connect to server #. connect to the server @@ -3763,6 +3771,9 @@ msgid "Server does not use any supported authentication method" msgstr "No hi ha cap mètode d'autenticació compatible amb aquest servidor" +msgid "You require encryption, but it is not available on this server." +msgstr "Requeriu xifratge, però no està disponible en aquest servidor." + msgid "Invalid challenge from server" msgstr "Repte del servidor invàlid" @@ -4223,9 +4234,6 @@ msgid "Roles:" msgstr "Rols:" -msgid "You require encryption, but it is not available on this server." -msgstr "Requeriu xifratge, però no està disponible en aquest servidor." - msgid "Ping timeout" msgstr "Temps d'espera del ping" @@ -4273,9 +4281,6 @@ msgid "Unregistration Failed" msgstr "No s'ha pogut cancel·lar el registre" -msgid "Already Registered" -msgstr "Ja esteu registrat" - msgid "State" msgstr "Estat" @@ -4288,6 +4293,9 @@ msgid "Date" msgstr "Data" +msgid "Already Registered" +msgstr "Ja esteu registrat" + msgid "Unregister" msgstr "Cancel·la el registre" @@ -5499,17 +5507,6 @@ msgstr "Autenticació amb el Windows Live ID: la resposta no és vàlida" #, c-format -msgid "%s is not a valid group." -msgstr "%s no és un nom de grup vàlid" - -msgid "Unknown error." -msgstr "Error desconegut." - -#, c-format -msgid "%s on %s (%s)" -msgstr "%s a %s (%s)" - -#, c-format msgid "%s just sent you a Nudge!" msgstr "%s us ha donat un cop de colze!" @@ -5550,15 +5547,12 @@ msgid "Service Temporarily Unavailable." msgstr "El servei no està disponible temporalment." +msgid "Unknown error." +msgstr "Error desconegut." + msgid "Mobile message was not sent because it was too long." msgstr "No s'ha enviat el missatge al mòbil perquè era massa llarg." -msgid "Unable to rename group" -msgstr "No s'ha pogut canviar el nom del grup" - -msgid "Unable to delete group" -msgstr "No s'ha pogut suprimir el grup" - #, c-format msgid "" "The MSN server will shut down for maintenance in %d minute. You will " @@ -5716,14 +5710,6 @@ msgstr "" "No s'ha pogut enviar el missatge perquè s'ha produït un error desconegut:" -#, c-format -msgid "%s has added you to his or her buddy list." -msgstr "%s us ha afegit a la seva llista d'amics." - -#, c-format -msgid "%s has removed you from his or her buddy list." -msgstr "%s us ha suprimit de la seva llista d'amics." - msgid "Delete Buddy from Address Book?" msgstr "Voleu suprimir l'amic de la llibreta d'adreces?" @@ -5753,6 +5739,28 @@ msgstr "Connector per al protocol MSN" #, c-format +msgid "%s is not a valid group." +msgstr "%s no és un nom de grup vàlid" + +#, c-format +msgid "%s on %s (%s)" +msgstr "%s a %s (%s)" + +msgid "Unable to rename group" +msgstr "No s'ha pogut canviar el nom del grup" + +msgid "Unable to delete group" +msgstr "No s'ha pogut suprimir el grup" + +#, c-format +msgid "%s has added you to his or her buddy list." +msgstr "%s us ha afegit a la seva llista d'amics." + +#, c-format +msgid "%s has removed you from his or her buddy list." +msgstr "%s us ha suprimit de la seva llista d'amics." + +#, c-format msgid "No such user: %s" msgstr "Aquest usuari no existeix: %s" @@ -6629,6 +6637,9 @@ msgid "iChat AV" msgstr "iChat AV" +msgid "Live Video" +msgstr "Vídeo en directe" + msgid "Camera" msgstr "Càmera" @@ -9619,16 +9630,24 @@ msgstr "La contrasenya no és correcta" #. security lock from too many failed login attempts -msgid "Account locked: Too many failed login attempts" -msgstr "S'ha blocat el compte: s'ha intentat entrar massa vegades" +msgid "" +"Account locked: Too many failed login attempts.\n" +"Logging into the Yahoo! website may fix this." +msgstr "" +"El compte està blocat perquè s'ha intentat entrar massa cops.\n" +"Això es pot solucionar entrant al web de Yahoo!" #. the username does not exist msgid "Username does not exist" msgstr "L'usuari no existeix" #. indicates a lock of some description -msgid "Account locked: See the debug log" -msgstr "El compte està blocat: vegeu el registre de depuració" +msgid "" +"Account locked: Unknown reason.\n" +"Logging into the Yahoo! website may fix this." +msgstr "" +"El compte està blocat, però no se'n coneix el motiu.\n" +"Això es pot solucionar entrant al web de Yahoo!" #. username or password missing msgid "Username or password missing" @@ -11495,6 +11514,9 @@ msgid "Hungarian" msgstr "Hongarès" +msgid "Armenian" +msgstr "Armeni" + msgid "Indonesian" msgstr "Indonesi" @@ -11592,6 +11614,9 @@ msgid "Swedish" msgstr "Suec" +msgid "Swahili" +msgstr " Suahili" + msgid "Tamil" msgstr "Tàmil" @@ -13891,12 +13916,6 @@ "- escriu a l'inrevés tots els missatges rebuts\n" "- envia un missatge a tots els amics immediatament després que es connectin" -msgid "Cursor Color" -msgstr "Color del cursor" - -msgid "Secondary Cursor Color" -msgstr "Color secundari del cursor" - msgid "Hyperlink Color" msgstr "Color dels hiperenllaços" @@ -13906,6 +13925,9 @@ msgid "Highlighted Message Name Color" msgstr "Nom del color per als missatges ressaltats" +msgid "Typing Notification Color" +msgstr "Color per a les notificacions de quan s'escriu" + msgid "GtkTreeView Horizontal Separation" msgstr "Separació horitzontal del GtkTreeView" @@ -13935,35 +13957,21 @@ msgid "GTK+ Text Shortcut Theme" msgstr "Tema de la drecera de text de GTK+" -#. -#. for (i = 0; i < G_N_ELEMENTS(widget_bool_prefs); i++) { -#. hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); -#. gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); -#. -#. check = pidgin_prefs_checkbox(_(widget_bool_names[i]), -#. widget_bool_prefs_set[i], hbox); -#. gtk_size_group_add_widget(labelsg, check); -#. -#. widget_bool_widgets[i] = pidgin_prefs_checkbox("", widget_bool_prefs[i], hbox); -#. * -#. gtk_size_group_add_widget(widgetsb, widget_bool_widgets[i]); -#. * -#. gtk_widget_set_sensitive(widget_bool_widgets[i], -#. purple_prefs_get_bool(widget_bool_prefs_set[i])); -#. g_signal_connect(G_OBJECT(check), "toggled", -#. G_CALLBACK(pidgin_toggle_sensitive), -#. widget_bool_widgets[i]); -#. } -#. -msgid "Interface colors" -msgstr "Colors de la interfície" - -msgid "Widget Sizes" -msgstr "Mides del giny" +msgid "Disable Typing Notification Text" +msgstr "Inhabilita les notificacions de que s'està escrivint" + +msgid "GTK+ Theme Control Settings" +msgstr "Configuració dels temes GTK+" + +msgid "Colors" +msgstr "Colors" msgid "Fonts" msgstr "Tipus de lletra" +msgid "Miscellaneous" +msgstr "Miscel·lània" + msgid "Gtkrc File Tools" msgstr "Eines de fitxer Gtkrc" @@ -14319,8 +14327,23 @@ msgid "This plugin is useful for debbuging XMPP servers or clients." msgstr "Aquest connector és útil per a depurar servidors i clients XMPP." -#~ msgid "Live Video" -#~ msgstr "Vídeo en directe" +#~ msgid "Account locked: Too many failed login attempts" +#~ msgstr "S'ha blocat el compte: s'ha intentat entrar massa vegades" + +#~ msgid "Account locked: See the debug log" +#~ msgstr "El compte està blocat: vegeu el registre de depuració" + +#~ msgid "Cursor Color" +#~ msgstr "Color del cursor" + +#~ msgid "Secondary Cursor Color" +#~ msgstr "Color secundari del cursor" + +#~ msgid "Interface colors" +#~ msgstr "Colors de la interfície" + +#~ msgid "Widget Sizes" +#~ msgstr "Mides del giny" #~ msgid "Invite message" #~ msgstr "Missatge d'invitació" @@ -16345,9 +16368,6 @@ #~ msgid "Invisible for friends only" #~ msgstr "Només invisible per als amics" -#~ msgid "Unable to resolve hostname." -#~ msgstr "No s'ha pogut resoldre el nom de l'ordinador." - #~ msgid "Error while writing to socket." #~ msgstr "S'ha produït un error en escriure al sòcol." @@ -16557,9 +16577,6 @@ #~ msgid "/Buddies/Log Out" #~ msgstr "/Amics/Desconnecta" -#~ msgid "Miscellaneous error" -#~ msgstr "Error miscel·lani" - #~ msgid "Unknown error when attempting to authorize with MSN login server." #~ msgstr "" #~ "S'ha produït un error desconegut en intentar autoritzar amb el servidor "