Change the URL description in receive mode

This commit is contained in:
Micah Lee 2018-04-27 23:02:04 -07:00
parent 2e4db9eb31
commit 0996e8c064
No known key found for this signature in database
GPG Key ID: 403C2657CD994F73
3 changed files with 26 additions and 15 deletions

View File

@ -35,6 +35,9 @@ class ServerStatus(QtWidgets.QWidget):
url_copied = QtCore.pyqtSignal() url_copied = QtCore.pyqtSignal()
hidservauth_copied = QtCore.pyqtSignal() hidservauth_copied = QtCore.pyqtSignal()
MODE_SHARE = 'share'
MODE_RECEIVE = 'receive'
STATUS_STOPPED = 0 STATUS_STOPPED = 0
STATUS_WORKING = 1 STATUS_WORKING = 1
STATUS_STARTED = 2 STATUS_STARTED = 2
@ -45,7 +48,7 @@ class ServerStatus(QtWidgets.QWidget):
self.common = common self.common = common
self.status = self.STATUS_STOPPED self.status = self.STATUS_STOPPED
self.share_mode = False # Gets changed in in self.set_share_mode self.mode = None # Gets set in self.set_mode
self.qtapp = qtapp self.qtapp = qtapp
self.app = app self.app = app
@ -78,7 +81,7 @@ class ServerStatus(QtWidgets.QWidget):
# URL layout # URL layout
url_font = QtGui.QFont() url_font = QtGui.QFont()
self.url_description = QtWidgets.QLabel(strings._('gui_url_description', True)) self.url_description = QtWidgets.QLabel()
self.url_description.setWordWrap(True) self.url_description.setWordWrap(True)
self.url_description.setMinimumHeight(50) self.url_description.setMinimumHeight(50)
self.url = QtWidgets.QLabel() self.url = QtWidgets.QLabel()
@ -114,12 +117,15 @@ class ServerStatus(QtWidgets.QWidget):
layout.addWidget(self.shutdown_timeout_container) layout.addWidget(self.shutdown_timeout_container)
self.setLayout(layout) self.setLayout(layout)
def set_share_mode(self, file_selection): def set_mode(self, share_mode, file_selection=None):
""" """
The server status is in share mode. The server status is in share mode.
""" """
self.share_mode = True self.mode = share_mode
if self.mode == ServerStatus.MODE_SHARE:
self.file_selection = file_selection self.file_selection = file_selection
self.update() self.update()
def shutdown_timeout_reset(self): def shutdown_timeout_reset(self):
@ -138,15 +144,20 @@ class ServerStatus(QtWidgets.QWidget):
self.url_description.show() self.url_description.show()
info_image = self.common.get_resource_path('images/info.png') info_image = self.common.get_resource_path('images/info.png')
self.url_description.setText(strings._('gui_url_description', True).format(info_image))
if self.mode == ServerStatus.MODE_SHARE:
self.url_description.setText(strings._('gui_share_url_description', True).format(info_image))
else:
self.url_description.setText(strings._('gui_receive_url_description', True).format(info_image))
# Show a Tool Tip explaining the lifecycle of this URL # Show a Tool Tip explaining the lifecycle of this URL
if self.common.settings.get('save_private_key'): if self.common.settings.get('save_private_key'):
if self.common.settings.get('close_after_first_download'): if self.mode == ServerStatus.MODE_SHARE and self.common.settings.get('close_after_first_download'):
self.url_description.setToolTip(strings._('gui_url_label_onetime_and_persistent', True)) self.url_description.setToolTip(strings._('gui_url_label_onetime_and_persistent', True))
else: else:
self.url_description.setToolTip(strings._('gui_url_label_persistent', True)) self.url_description.setToolTip(strings._('gui_url_label_persistent', True))
else: else:
if self.common.settings.get('close_after_first_download'): if self.mode == ServerStatus.MODE_SHARE and self.common.settings.get('close_after_first_download'):
self.url_description.setToolTip(strings._('gui_url_label_onetime', True)) self.url_description.setToolTip(strings._('gui_url_label_onetime', True))
else: else:
self.url_description.setToolTip(strings._('gui_url_label_stay_open', True)) self.url_description.setToolTip(strings._('gui_url_label_stay_open', True))
@ -179,7 +190,7 @@ class ServerStatus(QtWidgets.QWidget):
button_working_style = 'QPushButton { background-color: #4c8211; color: #ffffff; padding: 10px; border: 0; border-radius: 5px; font-style: italic; }' button_working_style = 'QPushButton { background-color: #4c8211; color: #ffffff; padding: 10px; border: 0; border-radius: 5px; font-style: italic; }'
button_started_style = 'QPushButton { background-color: #d0011b; color: #ffffff; padding: 10px; border: 0; border-radius: 5px; }' button_started_style = 'QPushButton { background-color: #d0011b; color: #ffffff; padding: 10px; border: 0; border-radius: 5px; }'
if self.share_mode and self.file_selection.get_num_files() == 0: if self.mode == ServerStatus.MODE_SHARE and self.file_selection.get_num_files() == 0:
self.server_button.hide() self.server_button.hide()
else: else:
self.server_button.show() self.server_button.show()
@ -187,7 +198,7 @@ class ServerStatus(QtWidgets.QWidget):
if self.status == self.STATUS_STOPPED: if self.status == self.STATUS_STOPPED:
self.server_button.setStyleSheet(button_stopped_style) self.server_button.setStyleSheet(button_stopped_style)
self.server_button.setEnabled(True) self.server_button.setEnabled(True)
if self.share_mode: if self.mode == ServerStatus.MODE_SHARE:
self.server_button.setText(strings._('gui_share_start_server', True)) self.server_button.setText(strings._('gui_share_start_server', True))
else: else:
self.server_button.setText(strings._('gui_receive_start_server', True)) self.server_button.setText(strings._('gui_receive_start_server', True))
@ -197,13 +208,13 @@ class ServerStatus(QtWidgets.QWidget):
elif self.status == self.STATUS_STARTED: elif self.status == self.STATUS_STARTED:
self.server_button.setStyleSheet(button_started_style) self.server_button.setStyleSheet(button_started_style)
self.server_button.setEnabled(True) self.server_button.setEnabled(True)
if self.share_mode: if self.mode == ServerStatus.MODE_SHARE:
self.server_button.setText(strings._('gui_share_stop_server', True)) self.server_button.setText(strings._('gui_share_stop_server', True))
else: else:
self.server_button.setText(strings._('gui_share_stop_server', True)) self.server_button.setText(strings._('gui_share_stop_server', True))
if self.common.settings.get('shutdown_timeout'): if self.common.settings.get('shutdown_timeout'):
self.shutdown_timeout_container.hide() self.shutdown_timeout_container.hide()
if self.share_mode: if self.mode == ServerStatus.MODE_SHARE:
self.server_button.setToolTip(strings._('gui_share_stop_server_shutdown_timeout_tooltip', True).format(self.timeout)) self.server_button.setToolTip(strings._('gui_share_stop_server_shutdown_timeout_tooltip', True).format(self.timeout))
else: else:
self.server_button.setToolTip(strings._('gui_receive_stop_server_shutdown_timeout_tooltip', True).format(self.timeout)) self.server_button.setToolTip(strings._('gui_receive_stop_server_shutdown_timeout_tooltip', True).format(self.timeout))

View File

@ -31,7 +31,6 @@ from .downloads import Downloads
from ..mode import Mode from ..mode import Mode
from ..widgets import Alert from ..widgets import Alert
class ShareMode(Mode): class ShareMode(Mode):
""" """
Parts of the main window UI for sharing files. Parts of the main window UI for sharing files.
@ -50,7 +49,7 @@ class ShareMode(Mode):
self.file_selection.file_list.add_file(filename) self.file_selection.file_list.add_file(filename)
# Server status # Server status
self.server_status.set_share_mode(self.file_selection) self.server_status.set_mode('share', self.file_selection)
self.server_status.server_started.connect(self.file_selection.server_started) self.server_status.server_started.connect(self.file_selection.server_started)
self.server_status.server_stopped.connect(self.file_selection.server_stopped) self.server_status.server_stopped.connect(self.file_selection.server_stopped)
self.server_status.server_stopped.connect(self.update_primary_action) self.server_status.server_stopped.connect(self.update_primary_action)

View File

@ -150,7 +150,8 @@
"gui_server_timeout_expired": "The chosen timeout has already expired.\nPlease update the timeout and then you may start sharing.", "gui_server_timeout_expired": "The chosen timeout has already expired.\nPlease update the timeout and then you may start sharing.",
"share_via_onionshare": "Share via OnionShare", "share_via_onionshare": "Share via OnionShare",
"gui_save_private_key_checkbox": "Use a persistent address\n(unchecking will delete any saved addresses)", "gui_save_private_key_checkbox": "Use a persistent address\n(unchecking will delete any saved addresses)",
"gui_url_description": "<b>Anyone</b> with this link can <b>download</b> your files using the <b>Tor Browser</b>: <img src='{}' />", "gui_share_url_description": "<b>Anyone</b> with this link can <b>download</b> your files using the <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Anyone</b> with this link can <b>upload</b> files to your computer using the <b>Tor Browser</b>: <img src='{}' />",
"gui_url_label_persistent": "This share will not expire automatically unless a timer is set.<br><br>Every share will have the same address (to use one-time addresses, disable persistence in Settings)", "gui_url_label_persistent": "This share will not expire automatically unless a timer is set.<br><br>Every share will have the same address (to use one-time addresses, disable persistence in Settings)",
"gui_url_label_stay_open": "This share will not expire automatically unless a timer is set.", "gui_url_label_stay_open": "This share will not expire automatically unless a timer is set.",
"gui_url_label_onetime": "This share will expire after the first download", "gui_url_label_onetime": "This share will expire after the first download",