From be36f3a4b6ab7a7b2920a5ced60a82d0bce51bda Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Fri, 4 May 2018 17:57:30 -0700 Subject: [PATCH] Rename some images to reuse in ReceiveMode, and make new upload window button images --- onionshare_gui/receive_mode/__init__.py | 26 ++++++++++----- onionshare_gui/receive_mode/uploads.py | 31 +++++++++++++++--- onionshare_gui/share_mode/__init__.py | 8 ++--- ...load_completed.png => share_completed.png} | Bin ...eted_none.png => share_completed_none.png} | Bin ..._in_progress.png => share_in_progress.png} | Bin ...ss_none.png => share_in_progress_none.png} | Bin share/images/upload_window_gray.png | Bin 0 -> 298 bytes share/images/upload_window_green.png | Bin 0 -> 483 bytes share/locale/en.json | 5 ++- 10 files changed, 52 insertions(+), 18 deletions(-) rename share/images/{download_completed.png => share_completed.png} (100%) rename share/images/{download_completed_none.png => share_completed_none.png} (100%) rename share/images/{download_in_progress.png => share_in_progress.png} (100%) rename share/images/{download_in_progress_none.png => share_in_progress_none.png} (100%) create mode 100644 share/images/upload_window_gray.png create mode 100644 share/images/upload_window_green.png diff --git a/onionshare_gui/receive_mode/__init__.py b/onionshare_gui/receive_mode/__init__.py index c306d8a9..ac904600 100644 --- a/onionshare_gui/receive_mode/__init__.py +++ b/onionshare_gui/receive_mode/__init__.py @@ -54,10 +54,10 @@ class ReceiveMode(Mode): # Information about share, and show uploads button self.info_show_uploads = QtWidgets.QToolButton() - self.info_show_uploads.setIcon(QtGui.QIcon(self.common.get_resource_path('images/download_window_gray.png'))) + self.info_show_uploads.setIcon(QtGui.QIcon(self.common.get_resource_path('images/upload_window_gray.png'))) self.info_show_uploads.setCheckable(True) - #self.info_show_uploads.toggled.connect(self.downloads_toggled) - self.info_show_uploads.setToolTip(strings._('gui_downloads_window_tooltip', True)) + self.info_show_uploads.toggled.connect(self.uploads_toggled) + self.info_show_uploads.setToolTip(strings._('gui_uploads_window_tooltip', True)) self.info_in_progress_uploads_count = QtWidgets.QLabel() self.info_in_progress_uploads_count.setStyleSheet('QLabel { font-size: 12px; color: #666666; }') @@ -146,9 +146,9 @@ class ReceiveMode(Mode): Update the 'Downloads completed' info widget. """ if self.uploads_completed == 0: - image = self.common.get_resource_path('images/download_completed_none.png') + image = self.common.get_resource_path('images/share_completed_none.png') else: - image = self.common.get_resource_path('images/download_completed.png') + image = self.common.get_resource_path('images/share_completed.png') self.info_completed_uploads_count.setText(' {1:d}'.format(image, self.uploads_completed)) self.info_completed_uploads_count.setToolTip(strings._('info_completed_downloads_tooltip', True).format(self.uploads_completed)) @@ -157,10 +157,10 @@ class ReceiveMode(Mode): Update the 'Downloads in progress' info widget. """ if self.uploads_in_progress == 0: - image = self.common.get_resource_path('images/download_in_progress_none.png') + image = self.common.get_resource_path('images/share_in_progress_none.png') else: - image = self.common.get_resource_path('images/download_in_progress.png') - self.info_show_uploads.setIcon(QtGui.QIcon(self.common.get_resource_path('images/download_window_green.png'))) + image = self.common.get_resource_path('images/share_in_progress.png') + self.info_show_uploads.setIcon(QtGui.QIcon(self.common.get_resource_path('images/upload_window_green.png'))) self.info_in_progress_uploads_count.setText(' {1:d}'.format(image, self.uploads_in_progress)) self.info_in_progress_uploads_count.setToolTip(strings._('info_in_progress_downloads_tooltip', True).format(self.uploads_in_progress)) @@ -175,3 +175,13 @@ class ReceiveMode(Mode): # Resize window self.adjustSize() + + def uploads_toggled(self, checked): + """ + When the 'Show/hide uploads' button is toggled, show or hide the uploads window. + """ + self.common.log('ReceiveMode', 'toggle_uploads') + if checked: + self.uploads.show() + else: + self.uploads.hide() diff --git a/onionshare_gui/receive_mode/uploads.py b/onionshare_gui/receive_mode/uploads.py index 821e4440..445e9406 100644 --- a/onionshare_gui/receive_mode/uploads.py +++ b/onionshare_gui/receive_mode/uploads.py @@ -21,16 +21,37 @@ from PyQt5 import QtCore, QtWidgets, QtGui from onionshare import strings -class Uploads(QtWidgets.QWidget): +class Uploads(QtWidgets.QScrollArea): """ The uploads chunk of the GUI. This lists all of the active upload progress bars, as well as information about each upload. """ def __init__(self, common): super(Uploads, self).__init__() - self.common = common - self.layout = QtWidgets.QVBoxLayout() - self.layout.addStretch() - self.setLayout(self.layout) + self.uploads = {} + + self.setWindowTitle(strings._('gui_uploads', True)) + self.setWidgetResizable(True) + self.setMaximumHeight(600) + self.setMinimumHeight(150) + self.setMinimumWidth(350) + self.setWindowIcon(QtGui.QIcon(common.get_resource_path('images/logo.png'))) + self.setWindowFlags(QtCore.Qt.Sheet | QtCore.Qt.WindowTitleHint | QtCore.Qt.WindowSystemMenuHint | QtCore.Qt.CustomizeWindowHint) + self.vbar = self.verticalScrollBar() + + uploads_label = QtWidgets.QLabel(strings._('gui_uploads', True)) + uploads_label.setStyleSheet('QLabel { font-weight: bold; font-size 14px; text-align: center; }') + self.no_uploads_label = QtWidgets.QLabel(strings._('gui_no_uploads', True)) + + self.uploads_layout = QtWidgets.QVBoxLayout() + + widget = QtWidgets.QWidget() + layout = QtWidgets.QVBoxLayout() + layout.addWidget(uploads_label) + layout.addWidget(self.no_uploads_label) + layout.addLayout(self.uploads_layout) + layout.addStretch() + widget.setLayout(layout) + self.setWidget(widget) diff --git a/onionshare_gui/share_mode/__init__.py b/onionshare_gui/share_mode/__init__.py index 55d21317..97d3d23f 100644 --- a/onionshare_gui/share_mode/__init__.py +++ b/onionshare_gui/share_mode/__init__.py @@ -345,9 +345,9 @@ class ShareMode(Mode): Update the 'Downloads completed' info widget. """ if self.downloads_completed == 0: - image = self.common.get_resource_path('images/download_completed_none.png') + image = self.common.get_resource_path('images/share_completed_none.png') else: - image = self.common.get_resource_path('images/download_completed.png') + image = self.common.get_resource_path('images/share_completed.png') self.info_completed_downloads_count.setText(' {1:d}'.format(image, self.downloads_completed)) self.info_completed_downloads_count.setToolTip(strings._('info_completed_downloads_tooltip', True).format(self.downloads_completed)) @@ -356,9 +356,9 @@ class ShareMode(Mode): Update the 'Downloads in progress' info widget. """ if self.downloads_in_progress == 0: - image = self.common.get_resource_path('images/download_in_progress_none.png') + image = self.common.get_resource_path('images/share_in_progress_none.png') else: - image = self.common.get_resource_path('images/download_in_progress.png') + image = self.common.get_resource_path('images/share_in_progress.png') self.info_show_downloads.setIcon(QtGui.QIcon(self.common.get_resource_path('images/download_window_green.png'))) self.info_in_progress_downloads_count.setText(' {1:d}'.format(image, self.downloads_in_progress)) self.info_in_progress_downloads_count.setToolTip(strings._('info_in_progress_downloads_tooltip', True).format(self.downloads_in_progress)) diff --git a/share/images/download_completed.png b/share/images/share_completed.png similarity index 100% rename from share/images/download_completed.png rename to share/images/share_completed.png diff --git a/share/images/download_completed_none.png b/share/images/share_completed_none.png similarity index 100% rename from share/images/download_completed_none.png rename to share/images/share_completed_none.png diff --git a/share/images/download_in_progress.png b/share/images/share_in_progress.png similarity index 100% rename from share/images/download_in_progress.png rename to share/images/share_in_progress.png diff --git a/share/images/download_in_progress_none.png b/share/images/share_in_progress_none.png similarity index 100% rename from share/images/download_in_progress_none.png rename to share/images/share_in_progress_none.png diff --git a/share/images/upload_window_gray.png b/share/images/upload_window_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..80db4b8f3ea1c99a62abb91d46c37574e5025196 GIT binary patch literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$0wn*`OvwRKOiAAEE)4(M`_JqL@;D1TB8wRq zxP?KOkzv*x37{Z*iKnkC`y*CX26G|q8~en8Lc2X(977~7hn_R^KAgbN^63*NN(72z;YDq^~Y?{>8a1}n4b+yV@msCD=RF}|}tqkgn+WyjaZh4ciur=E^o7HPh zS?PMrnRSDW`FGr%r-lbFL|pz~Ri5Lbabv^F3#}q^i^J`*o*a?Chc6!YYg-TgQu&X%Q~loCIHg9Y|H=v literal 0 HcmV?d00001 diff --git a/share/images/upload_window_green.png b/share/images/upload_window_green.png new file mode 100644 index 0000000000000000000000000000000000000000..652ddaffab94dc23d69039aaf2099bf00585d5fb GIT binary patch literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$3?vg*uer*=z{ncl6XF_nNPmQ*|NsBz#!j9G z3>U_dAirP+hi5m^K%69RcNc~ZR#^`qhqJ&VvY3H^TNs2H8D`Cq01C2~c>21sKVoHN zFqe6gFj)X76z=Kb7{YNq`NOAgAHRO)|G>?|#h17ty@A=Et(fIFpOd7da?2Jc=dFo3 zQv(zNS~o0BO>uU9`b2a=(4vJ4lL~DAEL_M`z*nB3!9VA)oYX1C=LSZGn;SA1X0!9? U^LuFs01boFyt=akR{0Du#)E&u=k literal 0 HcmV?d00001 diff --git a/share/locale/en.json b/share/locale/en.json index 50bb53c4..5322e86a 100644 --- a/share/locale/en.json +++ b/share/locale/en.json @@ -183,5 +183,8 @@ "systray_close_server_message": "A user closed the server", "systray_page_loaded_title": "OnionShare Page Loaded", "systray_download_page_loaded_message": "A user loaded the download page", - "systray_upload_page_loaded_message": "A user loaded the upload page" + "systray_upload_page_loaded_message": "A user loaded the upload page", + "gui_uploads": "Upload History", + "gui_uploads_window_tooltip": "Show/hide uploads", + "gui_no_uploads": "No uploads yet." }