changeset d1dbc3898df2 in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=d1dbc3898df2
description: fix get_visible_range() can return None
diffstat:
src/disco.py | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diffs (16 lines):
diff -r 801ab2afcee1 -r d1dbc3898df2 src/disco.py
--- a/src/disco.py Sun Jan 20 19:56:18 2013 +0100
+++ b/src/disco.py Sat Feb 16 20:00:07 2013 +0100
@@ -1905,8 +1905,10 @@
# Prevent a silly warning, try again in a bit.
self._fetch_source = GObject.timeout_add(100, self._start_info_query)
return
- # We have to do this in a pygtk <2.8 compatible way :/
- start, end = view.get_visible_range()
+ range_ = view.get_visible_range()
+ if not range_:
+ return
+ start, end = range_
iter_ = self.model.get_iter(start)
while iter_:
if not self.model.get_value(iter_, 6):
changeset 634847315a0e in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=634847315a0e
description: Also cancel the jingle session when initiator for IBB transfer cancellation
diffstat:
src/common/file_props.py | 1 +
src/common/protocol/bytestream.py | 8 ++++++++
2 files changed, 9 insertions(+), 0 deletions(-)
diffs (29 lines):
diff -r 1583583111ff -r 634847315a0e src/common/file_props.py
--- a/src/common/file_props.py Sun Jan 06 15:21:23 2013 +0400
+++ b/src/common/file_props.py Sat Jan 19 21:40:19 2013 -0400
@@ -135,6 +135,7 @@
self.hash_ = None
self.fd = None
self.startexmpp = None
+ # Type of the session, if it is 'jingle' or 'si'
self.session_type = None
self.request_id = None
self.proxyhosts = None
diff -r 1583583111ff -r 634847315a0e src/common/protocol/bytestream.py
--- a/src/common/protocol/bytestream.py Sun Jan 06 15:21:23 2013 +0400
+++ b/src/common/protocol/bytestream.py Sat Jan 19 21:40:19 2013 -0400
@@ -812,6 +812,14 @@
file_props.direction[1:], 'set',
payload=[nbxmpp.Node(nbxmpp.NS_IBB + ' close',
{'sid':file_props.sid})]))
+ if file_props.session_type == 'jingle':
+ peerjid = \
+ file_props.receiver if file_props.type_ == 's' else file_props.sender
+ session = self.get_jingle_session(peerjid, file_props.sid, 'file')
+ # According to the xep, the initiator also cancels the jingle session
+ # if there are no more files to send using IBB
+ if session.weinitiate:
+ session.cancel_session()
def OpenStream(self, sid, to, fp, blocksize=4096):
"""
changeset 1583583111ff in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=1583583111ff
description: [Darlan] Update Hebrew translation
diffstat:
po/he.po | 2881 ++++++++++++++++++++++++++++++++++---------------------------
1 files changed, 1619 insertions(+), 1262 deletions(-)
diffs (truncated from 6415 to 300 lines):
diff -r 915fe938fb8e -r 1583583111ff po/he.po
--- a/po/he.po Sun Dec 30 19:47:48 2012 +0100
+++ b/po/he.po Sun Jan 06 15:21:23 2013 +0400
@@ -8,15 +8,15 @@
"Project-Id-Version: gajim 0.15\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-11-15 14:27+0400\n"
-"PO-Revision-Date: 2012-12-09 10:07+0200\n"
+"PO-Revision-Date: 2013-01-06 13:21+0200\n"
"Last-Translator: Isratine Citizen <genghiskhan(a)gmx.ca>\n"
"Language-Team: Rahut\n"
"Language: he\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Language: Hebrew\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 1.5.4\n"
#: ../data/gui/account_context_menu.ui.h:1
#: ../data/gui/zeroconf_context_menu.ui.h:1
@@ -27,8 +27,7 @@
msgid "_Personal Events"
msgstr "_אירועים אישיים"
-#: ../data/gui/account_context_menu.ui.h:3
-#: ../data/gui/roster_window.ui.h:3
+#: ../data/gui/account_context_menu.ui.h:3 ../data/gui/roster_window.ui.h:3
msgid "_Start Chat..."
msgstr "התחל _שיחה..."
@@ -36,18 +35,16 @@
# שיחה מרובת משתתפים
# שיחה קבוצתית
# קבוצת שיחה
-#: ../data/gui/account_context_menu.ui.h:4
-#: ../data/gui/roster_window.ui.h:5
+#: ../data/gui/account_context_menu.ui.h:4 ../data/gui/roster_window.ui.h:5
msgid "Join _Group Chat..."
-msgstr "הצטרף אל שיחת _קבוצה..."
+msgstr "שיחת _קבוצה..."
#: ../data/gui/account_context_menu.ui.h:5
msgid "_Add Contact..."
msgstr "הוסף _איש קשר..."
# איתור
-#: ../data/gui/account_context_menu.ui.h:6
-#: ../data/gui/roster_window.ui.h:7
+#: ../data/gui/account_context_menu.ui.h:6 ../data/gui/roster_window.ui.h:7
msgid "_Discover Services"
msgstr "מצא _שירותים"
@@ -90,12 +87,12 @@
#: ../data/gui/account_creation_wizard_window.ui.h:6
msgid "<b>Please choose one of the options below:</b>"
-msgstr "<b>נא לבחור באחת מן האפשרויות מטה:</b>"
+msgstr "<b>אנא בחר באחת מן האפשרויות מטה:</b>"
# credentials
#: ../data/gui/account_creation_wizard_window.ui.h:7
msgid "<b>Please fill in the data for your existing account</b>"
-msgstr "<b>נא להזין את נתוני ההתחברות עבור חשבונך הקיים</b>"
+msgstr "<b>אנא מלא את נתוני ההתחברות עבור חשבונך הקיים</b>"
#: ../data/gui/account_creation_wizard_window.ui.h:8
#: ../data/gui/accounts_window.ui.h:22
@@ -198,27 +195,14 @@
msgstr "_סיום"
#: ../data/gui/account_creation_wizard_window.ui.h:30
-#: ../data/gui/accounts_window.ui.h:1
-#: ../data/gui/change_mood_dialog.ui.h:1
-#: ../src/config.py:1254
-#: ../src/config.py:1268
-#: ../src/config.py:1273
-#: ../src/config.py:1321
-#: ../src/config.py:1424
-#: ../src/config.py:1739
-#: ../src/config.py:1744
-#: ../src/config.py:2320
-#: ../src/config.py:2399
-#: ../src/config.py:2412
-#: ../src/config.py:3698
-#: ../src/config.py:3773
-#: ../src/dialogs.py:313
-#: ../src/dialogs.py:315
-#: ../src/dialogs.py:521
-#: ../src/dialogs.py:534
-#: ../src/roster_window.py:3214
-#: ../src/roster_window.py:3220
-#: ../src/roster_window.py:3225
+#: ../data/gui/accounts_window.ui.h:1 ../data/gui/change_mood_dialog.ui.h:1
+#: ../src/config.py:1254 ../src/config.py:1268 ../src/config.py:1273
+#: ../src/config.py:1321 ../src/config.py:1424 ../src/config.py:1739
+#: ../src/config.py:1744 ../src/config.py:2320 ../src/config.py:2399
+#: ../src/config.py:2412 ../src/config.py:3698 ../src/config.py:3773
+#: ../src/dialogs.py:313 ../src/dialogs.py:315 ../src/dialogs.py:521
+#: ../src/dialogs.py:534 ../src/roster_window.py:3214
+#: ../src/roster_window.py:3220 ../src/roster_window.py:3225
msgid "None"
msgstr "ללא"
@@ -227,28 +211,24 @@
msgstr "חשבונות"
#. Change label for accept_button to action name instead of 'OK'.
-#: ../data/gui/accounts_window.ui.h:3
-#: ../src/dialogs.py:3426
+#: ../data/gui/accounts_window.ui.h:3 ../src/dialogs.py:3426
#: ../src/dialogs.py:3472
msgid "Add"
msgstr "הוספה"
#. Change label for accept_button to action name instead of 'OK'.
-#: ../data/gui/accounts_window.ui.h:4
-#: ../src/dialogs.py:3430
+#: ../data/gui/accounts_window.ui.h:4 ../src/dialogs.py:3430
#: ../src/dialogs.py:3527
msgid "Delete"
msgstr "מחיקה"
#. Rename
-#: ../data/gui/accounts_window.ui.h:5
-#: ../src/roster_window.py:5844
+#: ../data/gui/accounts_window.ui.h:5 ../src/roster_window.py:5844
msgid "Re_name"
msgstr "_שנה שם"
#. XML Console enable checkbutton
-#: ../data/gui/accounts_window.ui.h:6
-#: ../data/gui/xml_console_window.ui.h:3
+#: ../data/gui/accounts_window.ui.h:6 ../data/gui/xml_console_window.ui.h:3
msgid "_Enable"
msgstr "א_פשר"
@@ -258,20 +238,24 @@
msgstr "התאמתות אלמונית"
#: ../data/gui/accounts_window.ui.h:8
-msgid "Resource is sent to the Jabber server in order to separate the same JID in two or more parts depending on the number of the clients connected in the same server with the same account. So you might be connected in the same account with resource 'Home' and 'Work' at the same time. The resource which has the highest priority will get the events. (see below)"
-msgstr "משאב נשלח אל שרת Jabber בכדי להפריד את אותה כתובת JID בשני חלקים או יותר, בהסתמך על מספר הלקוחות שמחוברים אל אותו השרת עם אותו החשבון. כך שייתכן שתהיה מחובר אל אותו החשבון עם משאב 'בית' וגם 'עבודה' בו זמנית. המשאב לו נתונה העדיפות הגבוהה ביותר יקבל את האירועים. (ראו למטה)"
+msgid ""
+"Resource is sent to the Jabber server in order to separate the same JID in "
+"two or more parts depending on the number of the clients connected in the "
+"same server with the same account. So you might be connected in the same "
+"account with resource 'Home' and 'Work' at the same time. The resource which "
+"has the highest priority will get the events. (see below)"
+msgstr ""
+"משאב נשלח אל שרת Jabber בכדי להפריד את אותה כתובת JID בשני חלקים או יותר, "
+"בהסתמך על מספר הלקוחות שמחוברים אל אותו השרת עם אותו החשבון. כך שייתכן שתהיה "
+"מחובר אל אותו החשבון עם משאב 'בית' וגם 'עבודה' בו זמנית. המשאב לו נתונה "
+"העדיפות הגבוהה ביותר יקבל את האירועים. (ראו למטה)"
# In Hebrew: גאג'ים
#. No configured account
-#: ../data/gui/accounts_window.ui.h:9
-#: ../data/gui/roster_window.ui.h:1
-#: ../data/gajim.desktop.in.in.h:1
-#: ../src/common/helpers.py:1168
-#: ../src/common/helpers.py:1180
-#: ../src/notify.py:316
-#: ../src/notify.py:339
-#: ../src/notify.py:389
-#: ../src/notify.py:405
+#: ../data/gui/accounts_window.ui.h:9 ../data/gui/roster_window.ui.h:1
+#: ../data/gajim.desktop.in.in.h:1 ../src/common/helpers.py:1168
+#: ../src/common/helpers.py:1180 ../src/notify.py:316 ../src/notify.py:339
+#: ../src/notify.py:389 ../src/notify.py:405
msgid "Gajim"
msgstr "Gajim"
@@ -283,7 +267,7 @@
#: ../data/gui/accounts_window.ui.h:11
msgid "Click to request authorization to all contacts of another account"
-msgstr "לחץ בכדי לבקש הרשאות עבור כל אנשי קשר של בחשבון אחר"
+msgstr "לחץ בכדי לבקש הרשאות עבור כל אנשי קשר של חשבון אחר"
#: ../data/gui/accounts_window.ui.h:12
msgid "Chan_ge Password"
@@ -302,8 +286,14 @@
# BUG: from a jabber "the"
# שני לקוחות ומעלה
#: ../data/gui/accounts_window.ui.h:15
-msgid "Priority is used in Jabber to determine who gets the events from the jabber server when two or more clients are connected using the same account; The client with the highest priority gets the events"
-msgstr "עדיפת משמשת אצל Jabber כדי לקבוע מי מקבל את האירועים מן שרת jabber כאשר שני לקוחות או יותר מחוברים באמצעות אותו החשבון; הלקוח בעל העדיפות הגבוהה ביותר יקבל את האירועים"
+msgid ""
+"Priority is used in Jabber to determine who gets the events from the jabber "
+"server when two or more clients are connected using the same account; The "
+"client with the highest priority gets the events"
+msgstr ""
+"עדיפת משמשת אצל Jabber כדי לקבוע מי מקבל את האירועים מן שרת jabber כאשר שני "
+"לקוחות או יותר מחוברים באמצעות אותו החשבון; הלקוח בעל העדיפות הגבוהה ביותר "
+"יקבל את האירועים"
#: ../data/gui/accounts_window.ui.h:16
msgid "A_djust to status"
@@ -351,8 +341,12 @@
# BUG: a dot at the end
# כאשר ישוגר
#: ../data/gui/accounts_window.ui.h:30
-msgid "If checked, Gajim, when launched, will automatically connect to jabber using this account"
-msgstr "במידה ואפשרות זו מסומנת, Gajim, בעת שיגור, יתחבר אוטומטית אל jabber באמצעות חשבון זה"
+msgid ""
+"If checked, Gajim, when launched, will automatically connect to jabber using "
+"this account"
+msgstr ""
+"במידה ואפשרות זו מסומנת, Gajim, בעת שיגור, יתחבר אוטומטית אל jabber באמצעות "
+"חשבון זה"
# BUG: _underline
# במידה והחיבור
@@ -377,8 +371,13 @@
# תיבת קומבינה (קומבינציה)
# תיבת שיח
#: ../data/gui/accounts_window.ui.h:34
-msgid "If checked, any change to the global status (handled by the combobox at the bottom of the roster window) will change the status of this account accordingly"
-msgstr "במידה ואפשרות זו מסומנת, כל שינוי אל מצב־החיבור הגלובלי (מטופל על ידי תיבת־הבחירה שמצויה בתחתית חלון הרשימה) ישנה את המצב של חשבון זה בהתאמה"
+msgid ""
+"If checked, any change to the global status (handled by the combobox at the "
+"bottom of the roster window) will change the status of this account "
+"accordingly"
+msgstr ""
+"במידה ואפשרות זו מסומנת, כל שינוי אל מצב החיבור הגלובלי (מטופל על ידי תיבת־"
+"הבחירה שמצויה בתחתית חלון הרשימה) ישנה את המצב של חשבון זה בהתאמה"
# BUG: _underline
#: ../data/gui/accounts_window.ui.h:35
@@ -387,21 +386,21 @@
# שיהיו סיכויים גדולים יותר להעברת קובץ לעבוד
#: ../data/gui/accounts_window.ui.h:36
-msgid "If checked, Gajim will also broadcast some more IPs except from just your IP, so file transfer has higher chances of working."
-msgstr "במידה ואפשרות זו מסומנת, Gajim ישדר, בנוסף לכתובת פרוטוקול המרשתת (IP) שלך, מספר כתובות IP נוספות, כך שלהעברת קובץ יהיו סיכויים גדולים יותר לעבוד."
+msgid ""
+"If checked, Gajim will also broadcast some more IPs except from just your "
+"IP, so file transfer has higher chances of working."
+msgstr ""
+"במידה ואפשרות זו מסומנת, Gajim ישדר, בנוסף לכתובת פרוטוקול המרשתת (IP) שלך, "
+"מספר כתובות IP נוספות, כך שלהעברת קובץ יהיו סיכויים גדולים יותר לעבוד."
# אכן, זוהי קבוצה כללית. נא לא להפוך זאת באופן שרירותי ל"רישום" כללי או לכל מילה אחר שלא קשורה אל התוכנית
#. FIXME: Ugly workaround.
#. FIXME: Ugly workaround.
#. Maybe we haven't been in any group (defaults to General)
#. General group cannot be changed
-#: ../data/gui/accounts_window.ui.h:37
-#: ../data/gui/preferences_window.ui.h:46
-#: ../src/common/contacts.py:135
-#: ../src/dialogs.py:113
-#: ../src/dialogs.py:125
-#: ../src/roster_window.py:3156
-#: ../src/roster_window.py:4284
+#: ../data/gui/accounts_window.ui.h:37 ../data/gui/preferences_window.ui.h:46
+#: ../src/common/contacts.py:135 ../src/dialogs.py:113 ../src/dialogs.py:125
+#: ../src/roster_window.py:3156 ../src/roster_window.py:4284
#: ../src/roster_window.py:5894
msgid "General"
msgstr "כללית"
@@ -410,10 +409,9 @@
msgid "_use HTTP__PROXY environment variable"
msgstr "השתמש במשת_ני סביבת HTTP__PROXY"
-#: ../data/gui/accounts_window.ui.h:39
-#: ../data/gui/preferences_window.ui.h:137
+#: ../data/gui/accounts_window.ui.h:39 ../data/gui/preferences_window.ui.h:137
msgid "_Manage..."
-msgstr " ניהו_ל... "
+msgstr " נה_ל... "
#: ../data/gui/accounts_window.ui.h:40
msgid "<b>Proxy</b>"
@@ -424,8 +422,12 @@
msgstr "ה_זהר אותי לפני שימוש בחיבור לא מאובטח"
#: ../data/gui/accounts_window.ui.h:42
-msgid "Check this so Gajim will ask you before sending your password over an insecure connection."
-msgstr "סמנו את אפשרות זו כדי ש־Gajim ישאל אותך טרם שליחת סיסמתך על פני חיבור לא מאובטח."
+msgid ""
+"Check this so Gajim will ask you before sending your password over an "
+"insecure connection."
+msgstr ""
+"סמן את אפשרות זו כדי ש־Gajim ישאל אותך טרם שליחת סיסמתך על פני חיבור לא "
+"מאובטח."
# חבילות נתונים מסוג
#: ../data/gui/accounts_window.ui.h:43
@@ -434,13 +436,17 @@
# BUG: a dot at the end
#: ../data/gui/accounts_window.ui.h:44
-msgid "If checked, Gajim will send keep-alive packets to prevent connection timeout which results in disconnection"
-msgstr "במידה ואפשרות זו מסומנת, Gajim ישלח חבילות keep-alive כדי למנוע פקיעת זמן של חיבור (connection timeout) המביאה לידי ניתוק"
-
-# התאמה של שם
+msgid ""
+"If checked, Gajim will send keep-alive packets to prevent connection timeout "
+"which results in disconnection"
changeset 9668f600f1f1 in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=9668f600f1f1
description: fix order of farstream calls
diffstat:
src/common/jingle_rtp.py | 23 ++++++++++++++++++-----
1 files changed, 18 insertions(+), 5 deletions(-)
diffs (40 lines):
diff -r 161d893e3bac -r 9668f600f1f1 src/common/jingle_rtp.py
--- a/src/common/jingle_rtp.py Fri Jul 22 12:05:38 2011 +0200
+++ b/src/common/jingle_rtp.py Sun Dec 30 16:20:57 2012 +0100
@@ -178,6 +178,15 @@
elif name == 'farstream-codecs-changed':
if self.sent and self.p2psession.get_property('codecs'):
self.send_description_info()
+ if self.transport.remote_candidates:
+ # those lines MUST be done after we get info on our
+ # codecs
+ self.p2pstream.add_remote_candidates(
+ self.transport.remote_candidates)
+ self.transport.remote_candidates = []
+ self.p2pstream.set_property('direction',
+ farstream.DIRECTION_BOTH)
+
elif name == 'farstream-local-candidates-prepared':
self.candidates_ready = True
if self.is_ready():
@@ -235,11 +244,15 @@
def on_negotiated(self):
if self.accepted:
- if self.transport.remote_candidates:
- self.p2pstream.add_remote_candidates(self.transport.remote_candidates)
- self.transport.remote_candidates = []
- # TODO: farstream.DIRECTION_BOTH only if senders='both'
- self.p2pstream.set_property('direction', farstream.DIRECTION_BOTH)
+ if self.p2psession.get_property('codecs'):
+ # those lines MUST be done after we get info on our codecs
+ if self.transport.remote_candidates:
+ self.p2pstream.add_remote_candidates(
+ self.transport.remote_candidates)
+ self.transport.remote_candidates = []
+ # TODO: farstream.DIRECTION_BOTH only if senders='both'
+ self.p2pstream.set_property('direction',
+ farstream.DIRECTION_BOTH)
JingleContent.on_negotiated(self)
def __on_remote_codecs(self, stanza, content, error, action):