use QDateTimeEdit instead of a spinbox for selecting a future date/time to auto-stop share

This commit is contained in:
Miguel Jacq 2017-11-09 11:29:55 +11:00
parent a4b8a71c68
commit 481f33c822
No known key found for this signature in database
GPG Key ID: EEA4341C6D97A0B6
4 changed files with 12 additions and 8 deletions

View File

@ -267,6 +267,6 @@ class close_after_seconds(threading.Thread):
self.time = time
def run(self):
log('Shutdown Timer', 'Server will shut down after {} seconds'.format(3600 * self.time))
time.sleep(3600 * self.time) # seconds -> hours
log('Shutdown Timer', 'Server will shut down after {} seconds'.format(self.time))
time.sleep(self.time)
return 1

View File

@ -374,7 +374,7 @@ class OnionShareGui(QtWidgets.QMainWindow):
# If the auto-shutdown timer has stopped, stop the server
if self.server_status.status == self.server_status.STATUS_STARTED:
if self.app.shutdown_timer and self.server_status.server_shutdown_timeout.value() > 0:
if self.app.shutdown_timer and self.server_status.timeout > 0:
if not self.app.shutdown_timer.is_alive():
self.server_status.stop_server()
self.status_bar.showMessage(strings._('close_on_timeout',True))

View File

@ -50,8 +50,9 @@ class ServerStatus(QtWidgets.QVBoxLayout):
self.server_shutdown_timeout_checkbox.toggled.connect(self.shutdown_timeout_toggled)
self.server_shutdown_timeout_checkbox.setText(strings._("gui_settings_shutdown_timeout_choice", True))
self.server_shutdown_timeout_label = QtWidgets.QLabel(strings._('gui_settings_shutdown_timeout', True))
self.server_shutdown_timeout = QtWidgets.QDoubleSpinBox()
self.server_shutdown_timeout.setRange(0,100)
self.server_shutdown_timeout = QtWidgets.QDateTimeEdit()
self.server_shutdown_timeout.setDateTime(QtCore.QDateTime.currentDateTime())
self.server_shutdown_timeout.setCurrentSectionIndex(4)
self.server_shutdown_timeout_label.hide()
self.server_shutdown_timeout.hide()
shutdown_timeout_layout_group = QtWidgets.QHBoxLayout()
@ -177,9 +178,12 @@ class ServerStatus(QtWidgets.QVBoxLayout):
The server has finished starting.
"""
self.status = self.STATUS_STARTED
# Convert the date value to seconds between now and then
now = QtCore.QDateTime.currentDateTime()
self.timeout = now.secsTo(self.server_shutdown_timeout.dateTime())
# Set the shutdown timeout value
if self.server_shutdown_timeout.value() > 0:
self.app.shutdown_timer = common.close_after_seconds(self.server_shutdown_timeout.value())
if self.timeout > 0:
self.app.shutdown_timer = common.close_after_seconds(self.timeout)
self.app.shutdown_timer.start()
self.copy_url()
self.update()

View File

@ -92,7 +92,7 @@
"gui_settings_button_cancel": "Cancel",
"gui_settings_button_help": "Help",
"gui_settings_shutdown_timeout_choice": "Set auto-stop timer?",
"gui_settings_shutdown_timeout": "Auto-stop share in (hours):",
"gui_settings_shutdown_timeout": "Auto-stop share at:",
"settings_saved": "Settings saved to {}",
"settings_error_unknown": "Can't connect to Tor controller because the settings don't make sense.",
"settings_error_automatic": "Can't connect to Tor controller. Is Tor Browser running in the background? If you don't have it you can get it from:\nhttps://www.torproject.org/.",