file transfers fixes - part 3

This commit is contained in:
ingvar1995 2018-05-17 00:02:22 +03:00
parent c0a143c817
commit a96f6d2928
12 changed files with 79 additions and 74 deletions

View file

@ -45,7 +45,7 @@ class MessagesItemsFactory:
return item
def create_inline_item(self, data, append, position=0):
def create_inline_item(self, data, append=True, position=0):
elem = QtWidgets.QListWidgetItem()
item = InlineImageItem(data, self._messages.width(), elem)
elem.setSizeHint(QtCore.QSize(self._messages.width(), item.height()))
@ -57,7 +57,7 @@ class MessagesItemsFactory:
return item
def create_unsent_file_item(self, tm, append):
def create_unsent_file_item(self, tm, append=True):
item = UnsentFileItem(self._file_transfers_handler, self._settings, tm, self._messages.width())
elem = QtWidgets.QListWidgetItem()
elem.setSizeHint(QtCore.QSize(self._messages.width() - 30, 34))
@ -70,7 +70,7 @@ class MessagesItemsFactory:
return item
def create_file_transfer_item(self, tm, append=True):
item = tm.get_widget(self._file_transfers_handler, self._settings, tm, self._messages.width())
item = tm.get_widget(self._file_transfers_handler, self._settings, self._messages.width())
elem = QtWidgets.QListWidgetItem()
elem.setSizeHint(QtCore.QSize(self._messages.width() - 30, 34))
if append:

View file

@ -19,14 +19,17 @@ class MainWindow(QtWidgets.QMainWindow):
self.setAcceptDrops(True)
self._saved = False
self._profile = None
self._file_transfer_handler = None
self.initUI()
def set_dependencies(self, widget_factory, tray, contacts_manager, messenger, profile, plugins_loader):
def set_dependencies(self, widget_factory, tray, contacts_manager, messenger, profile, plugins_loader,
file_transfer_handler):
self._widget_factory = widget_factory
self._tray = tray
self._contacts_manager = contacts_manager
self._profile = profile
self._plugins_loader = plugins_loader
self._file_transfer_handler = file_transfer_handler
self.messageEdit.set_messenger(messenger)
def show(self):
@ -519,7 +522,7 @@ class MainWindow(QtWidgets.QMainWindow):
caption = util_ui.tr('Choose file')
name = util_ui.file_dialog(caption)
if name[0]:
self._contacts_manager.send_file(name[0], self._contacts_manager.get_contact().number)
self._file_transfer_handler.send_file(name[0], self._contacts_manager.get_active_number())
def send_screenshot(self, hide=False):
self.menu.hide()

View file

@ -218,10 +218,10 @@ class MessageItem(QtWidgets.QWidget):
class FileTransferItem(QtWidgets.QListWidget):
def __init__(self, file_transfers_handler, settings, transfer_message, width, parent=None):
def __init__(self, transfer_message, file_transfer_handler, settings, width, parent=None):
QtWidgets.QListWidget.__init__(self, parent)
self._file_transfers_handler = file_transfers_handler
self._file_transfer_handler = file_transfer_handler
self.resize(QtCore.QSize(width, 34))
if transfer_message.state == FILE_TRANSFER_STATE['CANCELLED']:
self.setStyleSheet('QListWidget { border: 1px solid #B40404; }')
@ -308,7 +308,7 @@ class FileTransferItem(QtWidgets.QListWidget):
self.paused = False
def cancel_transfer(self, friend_number, file_number):
self._file_transfers_handler.cancel_transfer(friend_number, file_number)
self._file_transfer_handler.cancel_transfer(friend_number, file_number)
self.setStyleSheet('QListWidget { border: 1px solid #B40404; }')
self.cancel.setVisible(False)
self.accept_or_pause.setVisible(False)
@ -319,7 +319,7 @@ class FileTransferItem(QtWidgets.QListWidget):
directory = util_ui.directory_dialog(util_ui.tr('Choose folder'))
self.pb.setVisible(True)
if directory:
self._file_transfer_handler.accept_transfer(self, directory + '/' + self.saved_name,
self._file_transfer_handler.accept_transfer(directory + '/' + self.saved_name,
friend_number, file_number, size)
self.button_update('pause')
elif self.state == FILE_TRANSFER_STATE['PAUSED_BY_USER']: # resume
@ -390,8 +390,8 @@ class FileTransferItem(QtWidgets.QListWidget):
class UnsentFileItem(FileTransferItem):
def __init__(self, file_transfers_handler, settings, transfer_message, width, parent=None):
super().__init__(file_transfers_handler, settings, transfer_message, width, parent)
def __init__(self, file_transfer_handler, settings, transfer_message, width, parent=None):
super().__init__(file_transfer_handler, settings, transfer_message, width, parent)
self._time = time
self.pb.setVisible(False)
movie = QtGui.QMovie(util.join_path(util.get_images_directory(), 'spinner.gif'))
@ -399,7 +399,7 @@ class UnsentFileItem(FileTransferItem):
movie.start()
def cancel_transfer(self, *args):
self._file_transfers_handler.cancel_not_started_transfer(self._time)
self._file_transfer_handler.cancel_not_started_transfer(self._time)
class InlineImageItem(QtWidgets.QScrollArea):