def __init__(self, control_thread: 'ControlManagerThread'):
super().__init__()
self._control_thread = control_thread
control = control_thread.control
toolbar = self.addToolBar('Exits')
toolbar.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
toolbar.setMovable(False)
self._add_action = toolbar.addAction(load_icon('add'), 'Add')
self._add_action.triggered.connect(self._add_torrents_triggered)
self._pause_action = toolbar.addAction(load_icon('pause'), 'Pause')
self._pause_action.setEnabled(False)
self._pause_action.triggered.connect(partial(self._control_action_triggered, control.pause))
self._resume_action = toolbar.addAction(load_icon('resume'), 'Resume')
self._resume_action.setEnabled(False)
self._resume_action.triggered.connect(partial(self._control_action_triggered, control.resume))
self._remove_action = toolbar.addAction(load_icon('remove'), 'Remove')
self._remove_action.setEnabled(False)
self._remove_action.triggered.connect(partial(self._control_action_triggered, control.remove))
self._about_action = toolbar.addAction(load_icon('about'), 'About')
self._about_action.triggered.connect(self._show_about)
self._list_widget = TorrentListWidget()
self._list_widget.itemSelectionChanged.connect(self._update_control_action_state)
self._list_widget.files_dropped.connect(self.add_torrent_files)
self._torrent_to_item = {} # type: Dict[bytes, QListWidgetItem]
self.setCentralWidget(self._list_widget)
self.setMinimumSize(550, 450)
self.resize(600, 500)
self.setWindowTitle('BitTorrent Client')
control_thread.error_happened.connect(self._error_happened)
control.torrents_suggested.connect(self.add_torrent_files)
control.torrent_added.connect(self._add_torrent_item)
control.torrent_changed.connect(self._update_torrent_item)
control.torrent_removed.connect(self._remove_torrent_item)
self.show()
评论列表
文章目录