Refactor ShareMode and Downloads to remove the Downloads container widget, and make Downloads itself the QScrollArea

This commit is contained in:
Micah Lee 2018-05-04 16:57:17 -07:00
parent 7a71c4376a
commit e7c3db3b57
2 changed files with 23 additions and 24 deletions

View file

@ -325,9 +325,9 @@ class ShareMode(Mode):
""" """
self.common.log('ShareMode', 'toggle_downloads') self.common.log('ShareMode', 'toggle_downloads')
if checked: if checked:
self.downloads.downloads_container.show() self.downloads.show()
else: else:
self.downloads.downloads_container.hide() self.downloads.hide()
def reset_info_counters(self): def reset_info_counters(self):
""" """

View file

@ -91,41 +91,40 @@ class Download(object):
self.started) self.started)
class Downloads(QtWidgets.QWidget): class Downloads(QtWidgets.QScrollArea):
""" """
The downloads chunk of the GUI. This lists all of the active download The downloads chunk of the GUI. This lists all of the active download
progress bars. progress bars.
""" """
def __init__(self, common): def __init__(self, common):
super(Downloads, self).__init__() super(Downloads, self).__init__()
self.common = common self.common = common
self.downloads = {} self.downloads = {}
self.downloads_container = QtWidgets.QScrollArea() self.setWindowTitle(strings._('gui_downloads', True))
self.downloads_container.setWidget(self) self.setWidgetResizable(True)
self.downloads_container.setWindowTitle(strings._('gui_downloads', True)) self.setMaximumHeight(600)
self.downloads_container.setWidgetResizable(True) self.setMinimumHeight(150)
self.downloads_container.setMaximumHeight(600) self.setMinimumWidth(350)
self.downloads_container.setMinimumHeight(150) self.setWindowIcon(QtGui.QIcon(common.get_resource_path('images/logo.png')))
self.downloads_container.setMinimumWidth(350) self.setWindowFlags(QtCore.Qt.Sheet | QtCore.Qt.WindowTitleHint | QtCore.Qt.WindowSystemMenuHint | QtCore.Qt.CustomizeWindowHint)
self.downloads_container.setWindowIcon(QtGui.QIcon(common.get_resource_path('images/logo.png'))) self.vbar = self.verticalScrollBar()
self.downloads_container.setWindowFlags(QtCore.Qt.Sheet | QtCore.Qt.WindowTitleHint | QtCore.Qt.WindowSystemMenuHint | QtCore.Qt.CustomizeWindowHint)
self.downloads_container.vbar = self.downloads_container.verticalScrollBar()
self.downloads_label = QtWidgets.QLabel(strings._('gui_downloads', True)) downloads_label = QtWidgets.QLabel(strings._('gui_downloads', True))
self.downloads_label.setStyleSheet('QLabel { font-weight: bold; font-size 14px; text-align: center; }') downloads_label.setStyleSheet('QLabel { font-weight: bold; font-size 14px; text-align: center; }')
self.no_downloads_label = QtWidgets.QLabel(strings._('gui_no_downloads', True)) self.no_downloads_label = QtWidgets.QLabel(strings._('gui_no_downloads', True))
self.downloads_layout = QtWidgets.QVBoxLayout() self.downloads_layout = QtWidgets.QVBoxLayout()
self.layout = QtWidgets.QVBoxLayout() widget = QtWidgets.QWidget()
self.layout.addWidget(self.downloads_label) layout = QtWidgets.QVBoxLayout()
self.layout.addWidget(self.no_downloads_label) layout.addWidget(downloads_label)
self.layout.addLayout(self.downloads_layout) layout.addWidget(self.no_downloads_label)
self.layout.addStretch() layout.addLayout(self.downloads_layout)
self.setLayout(self.layout) layout.addStretch()
widget.setLayout(layout)
self.setWidget(widget)
def add_download(self, download_id, total_bytes): def add_download(self, download_id, total_bytes):
""" """
@ -140,7 +139,7 @@ class Downloads(QtWidgets.QWidget):
self.downloads_layout.addWidget(download.progress_bar) self.downloads_layout.addWidget(download.progress_bar)
# Scroll to the bottom # Scroll to the bottom
self.downloads_container.vbar.setValue(self.downloads_container.vbar.maximum()) self.vbar.setValue(self.vbar.maximum())
def update_download(self, download_id, downloaded_bytes): def update_download(self, download_id, downloaded_bytes):
""" """
@ -164,4 +163,4 @@ class Downloads(QtWidgets.QWidget):
self.downloads = {} self.downloads = {}
self.no_downloads_label.show() self.no_downloads_label.show()
self.downloads_container.resize(self.downloads_container.sizeHint()) self.resize(self.sizeHint())