Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/common/connection_handlers.py6
-rw-r--r--src/common/socks5.py14
-rw-r--r--src/dialogs.py6
-rwxr-xr-xsrc/gajim.py7
-rw-r--r--src/secrets.py4
5 files changed, 15 insertions, 22 deletions
diff --git a/src/common/connection_handlers.py b/src/common/connection_handlers.py
index 5c61fe747..b38fc1b24 100644
--- a/src/common/connection_handlers.py
+++ b/src/common/connection_handlers.py
@@ -55,10 +55,6 @@ if dbus_support.supported:
import dbus
from music_track_listener import MusicTrackListener
-from session import ChatControlSession
-
-gajim.default_session_type = ChatControlSession
-
STATUS_LIST = ['offline', 'connecting', 'online', 'chat', 'away', 'xa', 'dnd',
'invisible', 'error']
# kind of events we can wait for an answer
@@ -1791,7 +1787,7 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
elif invite is not None:
self.dispatch_invite_message(invite, frm)
else:
- if isinstance(session, ChatControlSession):
+ if isinstance(session, gajim.default_session_type):
session.received(frm, msgtxt, tim, encrypted, msg)
else:
session.received(msg)
diff --git a/src/common/socks5.py b/src/common/socks5.py
index 6787f2ffe..e4bccb3ff 100644
--- a/src/common/socks5.py
+++ b/src/common/socks5.py
@@ -26,7 +26,6 @@
import socket
import struct
import sha
-from dialogs import BindPortError
from errno import EWOULDBLOCK
from errno import ENOBUFS
@@ -52,7 +51,8 @@ SEND_TIMEOUT = 180
class SocksQueue:
''' queue for all file requests objects '''
- def __init__(self, idlequeue, complete_transfer_cb = None, progress_transfer_cb = None):
+ def __init__(self, idlequeue, complete_transfer_cb=None,
+ progress_transfer_cb=None, error_cb=None):
self.connected = 0
self.readers = {}
self.files_props = {}
@@ -65,6 +65,7 @@ class SocksQueue:
self.idlequeue = idlequeue
self.complete_transfer_cb = complete_transfer_cb
self.progress_transfer_cb = progress_transfer_cb
+ self.error_cb = error_cb
self.on_success = None
self.on_failure = None
@@ -77,11 +78,12 @@ class SocksQueue:
self.listener = Socks5Listener(self.idlequeue, port)
self.listener.queue = self
self.listener.bind()
- if self.listener.started is False:
+ if self.listener.started is False or True:
self.listener = None
- # We cannot bind port, call error
- # dialog from dialogs.py and fail
- BindPortError(port)
+ # We cannot bind port, call error callback and fail
+ self.error_cb(_('Unable to bind to port %s.') % port,
+ _('Maybe you have another running instance of Gajim. File '
+ 'Transfer will be cancelled.'))
return None
self.connected += 1
return self.listener
diff --git a/src/dialogs.py b/src/dialogs.py
index 7ffad29ca..4e0536468 100644
--- a/src/dialogs.py
+++ b/src/dialogs.py
@@ -1186,12 +1186,6 @@ class FileChooserDialog(gtk.FileChooserDialog):
def just_destroy(self, widget):
self.destroy()
-class BindPortError:
- def __init__(self, port):
- ErrorDialog(_('Unable to bind to port %s.') % port,
- _('Maybe you have another running instance of Gajim. '
- 'File Transfer will be cancelled.'))
-
class AspellDictError:
def __init__(self, lang):
ErrorDialog(
diff --git a/src/gajim.py b/src/gajim.py
index c91121d63..a1798a354 100755
--- a/src/gajim.py
+++ b/src/gajim.py
@@ -1644,6 +1644,9 @@ class Interface:
notify.popup(event_type, jid, account, 'file-request',
path_to_image = path, title = event_type, text = txt)
+ def handle_event_file_error(self, title, message):
+ dialogs.ErrorDialog(title, message)
+
def handle_event_file_progress(self, account, file_props):
if time.time() - self.last_ftwindow_update > 0.5:
# update ft window every 500ms
@@ -3122,8 +3125,10 @@ class Interface:
gajim.resolver = nslookup.Resolver(gajim.idlequeue)
gajim.socks5queue = socks5.SocksQueue(gajim.idlequeue,
self.handle_event_file_rcv_completed,
- self.handle_event_file_progress)
+ self.handle_event_file_progress,
+ self.handle_event_file_error)
gajim.proxy65_manager = proxy65_manager.Proxy65Manager(gajim.idlequeue)
+ gajim.default_session_type = ChatControlSession
self.register_handlers()
if gajim.config.get('enable_zeroconf'):
gajim.connections[gajim.ZEROCONF_ACC_NAME] = common.zeroconf.connection_zeroconf.ConnectionZeroconf(gajim.ZEROCONF_ACC_NAME)
diff --git a/src/secrets.py b/src/secrets.py
index 772dfb83a..28a9fb916 100644
--- a/src/secrets.py
+++ b/src/secrets.py
@@ -24,13 +24,9 @@ from common.configpaths import gajimpaths
from common import crypto
from common import exceptions
-import dialogs
-
import os
import pickle
-import gtk
-
secrets_filename = gajimpaths['SECRETS_FILE']
secrets_cache = None