Mercurial > pidgin.yaz
changeset 27706:c90de665e042
merge of '51da76f83bc049dc92e4199b15f634d001a5fa02'
and '80e8cabf693147bcebc8857d383b6aab279d75ae'
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Sun, 19 Jul 2009 19:38:35 +0000 |
parents | 5d75276a575f (diff) 3edd01d04004 (current diff) |
children | 6dd89408ded4 |
files | |
diffstat | 7 files changed, 113 insertions(+), 65 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Sun Jul 19 19:33:43 2009 +0000 +++ b/ChangeLog Sun Jul 19 19:38:35 2009 +0000 @@ -30,17 +30,11 @@ useful when running libpurple inside of Valgrind or similar programs. Currently, it keeps plugins in memory, allowing Valgrind to perform symbol resolution of leak traces at shutdown. - * Add support for receiving handwritten (ink) messages on MSN. * Don't do IPv6 address lookups if the computer does not have an IPv6 address configured. - * Add support for receiving audio clips on MSN. * Fix a leak when the UI provides its own DNS resolving UI op. (Aman Gupta) * Don't fork a DNS resolver process to resolve IP addresses. (Aman Gupta) - * Show the invite message for buddies that requested authorization - from you on MSN. - * Support sending an invite message to buddies when requesting authorization - from them on MSN. * Better handling of corrupt certificates in the TLS Peers cache. * More efficient purple_find_buddies() and purple_find_group() functions. (Jan Kaluza and Aman Gupta) @@ -129,6 +123,15 @@ * Ability to set personal details for an account and for buddies in the buddylist. + MSN: + * Add support for receiving handwritten (ink) messages on MSN. + * Add support for receiving audio clips on MSN. + * Show the invite message for buddies that requested authorization + from you on MSN. + * Support sending an invite message to buddies when requesting authorization + from them on MSN. + * Timeout switchboard connections aggressively + Pidgin: * Added -f command line option to tell Pidgin to ignore NetworkManager and assume it has a valid network connection.
--- a/finch/gntmedia.c Sun Jul 19 19:33:43 2009 +0000 +++ b/finch/gntmedia.c Sun Jul 19 19:38:35 2009 +0000 @@ -25,7 +25,7 @@ */ #include "finch.h" - +#include <internal.h> #include "gntconv.h" #include "gntmedia.h"
--- a/libpurple/protocols/msn/servconn.c Sun Jul 19 19:33:43 2009 +0000 +++ b/libpurple/protocols/msn/servconn.c Sun Jul 19 19:38:35 2009 +0000 @@ -26,6 +26,7 @@ #include "error.h" static void read_cb(gpointer data, gint source, PurpleInputCondition cond); +static void servconn_timeout_renew(MsnServConn *servconn); /************************************************************************** * Main @@ -52,6 +53,8 @@ servconn->tx_buf = purple_circ_buffer_new(MSN_BUF_LEN); servconn->tx_handler = 0; + servconn->timeout_sec = 0; + servconn->timeout_handle = 0; servconn->fd = -1; @@ -82,6 +85,8 @@ purple_circ_buffer_destroy(servconn->tx_buf); if (servconn->tx_handler > 0) purple_input_remove(servconn->tx_handler); + if (servconn->timeout_handle > 0) + purple_input_remove(servconn->timeout_handle); msn_cmdproc_destroy(servconn->cmdproc); g_free(servconn); @@ -184,6 +189,7 @@ servconn->connect_cb(servconn); servconn->inpa = purple_input_add(servconn->fd, PURPLE_INPUT_READ, read_cb, data); + servconn_timeout_renew(servconn); } else { @@ -219,6 +225,7 @@ servconn->connected = TRUE; servconn->httpconn->virgin = TRUE; + servconn_timeout_renew(servconn); /* Someone wants to know we connected. */ servconn->connect_cb(servconn); @@ -267,6 +274,12 @@ servconn->inpa = 0; } + if (servconn->timeout_handle > 0) + { + purple_input_remove(servconn->timeout_handle); + servconn->timeout_handle = 0; + } + close(servconn->fd); servconn->rx_buf = NULL; @@ -279,6 +292,36 @@ servconn->disconnect_cb(servconn); } +static gboolean +servconn_idle_timeout_cb(MsnServConn *servconn) +{ + msn_servconn_disconnect(servconn); + servconn->timeout_handle = 0; + return FALSE; +} + +static void +servconn_timeout_renew(MsnServConn *servconn) +{ + if (servconn->timeout_handle) { + purple_input_remove(servconn->timeout_handle); + servconn->timeout_handle = 0; + } + + if (servconn->connected && servconn->timeout_sec) { + servconn->timeout_handle = purple_timeout_add_seconds( + servconn->timeout_sec, servconn_idle_timeout_cb, servconn); + } +} + +void +msn_servconn_set_idle_timeout(MsnServConn *servconn, guint seconds) +{ + servconn->timeout_sec = seconds; + if (servconn->connected) + servconn_timeout_renew(servconn); +} + static void servconn_write_cb(gpointer data, gint source, PurpleInputCondition cond) { @@ -304,6 +347,7 @@ } purple_circ_buffer_mark_read(servconn->tx_buf, ret); + servconn_timeout_renew(servconn); } gssize @@ -358,6 +402,7 @@ msn_servconn_got_error(servconn, MSN_SERVCONN_ERROR_WRITE); } + servconn_timeout_renew(servconn); return ret; } @@ -392,6 +437,7 @@ servconn->rx_len += len; msn_servconn_process_data(servconn); + servconn_timeout_renew(servconn); } void msn_servconn_process_data(MsnServConn *servconn)
--- a/libpurple/protocols/msn/servconn.h Sun Jul 19 19:33:43 2009 +0000 +++ b/libpurple/protocols/msn/servconn.h Sun Jul 19 19:38:35 2009 +0000 @@ -88,6 +88,8 @@ PurpleCircBuffer *tx_buf; guint tx_handler; + guint timeout_sec; + guint timeout_handle; void (*connect_cb)(MsnServConn *); /**< The callback to call when connecting. */ void (*disconnect_cb)(MsnServConn *); /**< The callback to call when disconnecting. */ @@ -178,4 +180,12 @@ */ void msn_servconn_process_data(MsnServConn *servconn); +/** + * Set a idle timeout fot this servconn + * + * @param servconn The servconn + * @param seconds The idle timeout in seconds + */ +void msn_servconn_set_idle_timeout(MsnServConn *servconn, guint seconds); + #endif /* _MSN_SERVCONN_H_ */
--- a/libpurple/protocols/msn/switchboard.c Sun Jul 19 19:33:43 2009 +0000 +++ b/libpurple/protocols/msn/switchboard.c Sun Jul 19 19:38:35 2009 +0000 @@ -42,15 +42,15 @@ msn_switchboard_new(MsnSession *session) { MsnSwitchBoard *swboard; - MsnServConn *servconn; g_return_val_if_fail(session != NULL, NULL); swboard = g_new0(MsnSwitchBoard, 1); swboard->session = session; - swboard->servconn = servconn = msn_servconn_new(session, MSN_SERVCONN_SB); - swboard->cmdproc = servconn->cmdproc; + swboard->servconn = msn_servconn_new(session, MSN_SERVCONN_SB); + msn_servconn_set_idle_timeout(swboard->servconn, 60); + swboard->cmdproc = swboard->servconn->cmdproc; swboard->msg_queue = g_queue_new(); swboard->empty = TRUE;
--- a/pidgin/gtkblist.c Sun Jul 19 19:33:43 2009 +0000 +++ b/pidgin/gtkblist.c Sun Jul 19 19:38:35 2009 +0000 @@ -1168,6 +1168,8 @@ _("Room _List"), 1, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, PIDGIN_STOCK_CHAT, GTK_RESPONSE_OK, NULL); + gtk_dialog_set_default_response(GTK_DIALOG(data->rq_data.window), + GTK_RESPONSE_OK); data->default_chat_name = NULL; data->rq_data.account = pidgin_account_option_menu_get_selected(data->rq_data.account_menu); @@ -6925,6 +6927,8 @@ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_ADD, GTK_RESPONSE_OK, NULL); + gtk_dialog_set_default_response(GTK_DIALOG(data->rq_data.window), + GTK_RESPONSE_OK); g_signal_connect(G_OBJECT(data->rq_data.window), "destroy", G_CALLBACK(destroy_add_buddy_dialog_cb), data); @@ -7094,6 +7098,8 @@ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_ADD, GTK_RESPONSE_OK, NULL); + gtk_dialog_set_default_response(GTK_DIALOG(data->chat_data.rq_data.window), + GTK_RESPONSE_OK); data->chat_data.default_chat_name = g_strdup(name);
--- a/po/de.po Sun Jul 19 19:33:43 2009 +0000 +++ b/po/de.po Sun Jul 19 19:38:35 2009 +0000 @@ -11,8 +11,8 @@ msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-07-19 14:03+0200\n" -"PO-Revision-Date: 2009-07-19 14:03+0200\n" +"POT-Creation-Date: 2009-07-19 19:25+0200\n" +"PO-Revision-Date: 2009-07-19 19:25+0200\n" "Last-Translator: Jochen Kemnade <jochenkemnade@web.de>\n" "Language-Team: Deutsch <de@li.org>\n" "MIME-Version: 1.0\n" @@ -4066,16 +4066,14 @@ msgid "Find Rooms" msgstr "Finde Räume" -#, fuzzy msgid "Affiliations:" -msgstr "Alias:" +msgstr "Mitgliedschaften:" msgid "No users found" msgstr "Keine Benutzer gefunden" -#, fuzzy msgid "Roles:" -msgstr "Funktion" +msgstr "Rollen:" msgid "Ping timed out" msgstr "Ping-Zeitüberschreitung" @@ -4084,6 +4082,8 @@ "Unable to find alternative XMPP connection methods after failing to connect " "directly." msgstr "" +"Nach dem Fehlschlagen einer direkten XMPP-Verbindung konnen keine " +"alternativen Verbindungsmethoden gefunden werden." msgid "Invalid XMPP ID" msgstr "Ungültige XMPP-ID" @@ -4529,21 +4529,21 @@ msgid "ban <user> [reason]: Ban a user from the room." msgstr "ban <Benutzer> [Grund]: Verbanne einen Benutzer aus dem Raum." -#, fuzzy msgid "" "affiliate <owner|admin|member|outcast|none> [nick1] [nick2] ...: Get " "the users with an affiliation or set users' affiliation with the room." msgstr "" -"affiliate <Benutzer> <owner|admin|member|outcast|none>: Setze " -"eine Benutzerzugehörigkeit für den Raum." - -#, fuzzy +"affiliate <owner|admin|member|outcast|none> [Benutzer1] " +"[Benutzer2] ...: Benutzer mit einer Mitgliedschaft für den Raum erfragen " +"oder setzen" + msgid "" "role <moderator|participant|visitor|none> [nick1] [nick2] ...: Get the " "users with an role or set users' role with the room." msgstr "" -"role <Benutzer> <moderator|participant|visitor|none>: Setze eine " -"Rolle für den Benutzer im Raum." +"role <owner|admin|member|outcast|none> [Benutzer1] [Benutzer2] ...: " +"Benutzer mit einer Rolle für den Raum erfragen oder Benutzern eine Rolle " +"zuweisen" msgid "invite <user> [message]: Invite a user to the room." msgstr "" @@ -4681,9 +4681,8 @@ msgid "Kicked (%s)" msgstr "Hinausgeworfen (%s)" -#, fuzzy msgid "An error occurred on the in-band bytestream transfer\n" -msgstr "Beim Übertragen der Datei trat ein Fehler auf\n" +msgstr "Bei der In-Band-Bytestrom-Übertragung trat ein Fehler auf\n" msgid "Transfer was closed." msgstr "Übertragung wurde geschlossen." @@ -4692,7 +4691,7 @@ msgstr "Öffnen der Datei fehlgeschlagen" msgid "Failed to open in-band bytestream" -msgstr "" +msgstr "Öffnen des In-Band-Bytestroms fehlgeschlagen" #, c-format msgid "Unable to send file to %s, user does not support file transfers" @@ -10806,73 +10805,63 @@ msgstr "Das Layout von Icons, Namen und Status der Kontaktliste" #. Group -#, fuzzy msgid "Expanded Background Color" -msgstr "Hintergrundfarbe" +msgstr "Hintergrundfarbe (ausgeklappt)" msgid "The background color of an expanded group" msgstr "Die Hintergrundfarbe für eine ausgeklappte Gruppe" -#, fuzzy msgid "Expanded Text" -msgstr "A_usklappen" +msgstr "Text (ausgeklappt)" msgid "The text information for when a group is expanded" msgstr "Die Textinformation für eine ausgeklappte Gruppe" -#, fuzzy msgid "Collapsed Background Color" -msgstr "Hintergrundfarbe auswählen" +msgstr "Hintergrundfarbe (zusammengeklappt)" msgid "The background color of a collapsed group" msgstr "Die Hintergrundfarbe für eine zusammengeklappte Gruppe" -#, fuzzy msgid "Collapsed Text" -msgstr "_Zusammenklappen" +msgstr "Text (zusammengeklappt)" msgid "The text information for when a group is collapsed" msgstr "Die Textinformation für eine zusammengeklappte Gruppe" #. Buddy -#, fuzzy msgid "Contact/Chat Background Color" -msgstr "Hintergrundfarbe auswählen" +msgstr "Hintergrundfarbe für Kontakt/Chat" msgid "The background color of a contact or chat" msgstr "Die Hintergrundfarbe für einen Kontakt oder Chat" -#, fuzzy msgid "Contact Text" -msgstr "Verknüpfter Text" +msgstr "Text für Kontakt" msgid "The text information for when a contact is expanded" msgstr "Die Textinformation für einen ausgeklappten Kontakt" -#, fuzzy msgid "On-line Text" -msgstr "Online" +msgstr "Online-Text" msgid "The text information for when a buddy is online" msgstr "Die Textinformation für einen Online-Buddy" -#, fuzzy msgid "Away Text" -msgstr "Abwesend" +msgstr "Abwesenheitstext" msgid "The text information for when a buddy is away" msgstr "Die Textinformation für einen abwesenden Buddy" -#, fuzzy msgid "Off-line Text" -msgstr "Offline" +msgstr "Offline-Text" msgid "The text information for when a buddy is off-line" msgstr "Die Textinformation für einen Offline-Buddy" -#, fuzzy msgid "Idle Text" -msgstr "Stimmungstext" +msgstr "Untätigkeitstext" msgid "The text information for when a buddy is idle" msgstr "Die Textinformation für einen untätigen Buddy" @@ -10946,7 +10935,6 @@ msgid "Get Away Message" msgstr "Neue Abwesenheitsnachricht abholen" -#, fuzzy msgid "Last Said" msgstr "Zuletzt gesagt" @@ -12506,9 +12494,8 @@ msgid "On unread messages" msgstr "Bei ungelesenen Nachrichten" -#, fuzzy msgid "Conversation Window" -msgstr "IM Gesprächsfenster" +msgstr "Gesprächsfenster" msgid "_Hide new IM conversations:" msgstr "_Neue IM-Gespräche verstecken:" @@ -13297,9 +13284,8 @@ msgid "Service Discovery" msgstr "Dienstsuche" -#, fuzzy msgid "_Browse" -msgstr "_Browser:" +msgstr "_Suchen" msgid "Server does not exist" msgstr "Server existiert nicht" @@ -13311,7 +13297,7 @@ msgstr "XMPP-Dienstsuche" msgid "Allows browsing and registering services." -msgstr "" +msgstr "Erlaubt das Durchsuchen und Registrieren von Diensten" #, fuzzy msgid "" @@ -14042,24 +14028,23 @@ "Icon for Contact/\n" "Icon for Unknown person" msgstr "" - -#, fuzzy +"Icon für Kontakt/\n" +"Icon for unbekannte Person" + msgid "Icon for Chat" -msgstr "Chat betreten" +msgstr "Icon für Chat" msgid "Ignored" msgstr "Ignoriert" -#, fuzzy msgid "Founder" -msgstr "Lauter" - -#, fuzzy +msgstr "Gründer" + msgid "Operator" -msgstr "Opera" +msgstr "Operator" msgid "Half Operator" -msgstr "" +msgstr "Half-Operator" msgid "Authorization dialog" msgstr "Autorisierungsdialog" @@ -14073,9 +14058,8 @@ msgid "Mail dialog" msgstr "Mail-Dialog" -#, fuzzy msgid "Question dialog" -msgstr "Anfrage-Dialog" +msgstr "Frage-Dialog" msgid "Warning dialog" msgstr "Warnungdialog" @@ -14086,9 +14070,8 @@ msgid "Status Icons" msgstr "Status-Icons" -#, fuzzy msgid "Chatroom Emblems" -msgstr "Chatraum-Gebiet" +msgstr "Chatraum-Embleme" msgid "Dialog Icons" msgstr "Dialog-Icons"