only prevent the share from starting when the timeout has expired, if the timeout feature was even set at all

This commit is contained in:
Miguel Jacq 2017-11-09 18:23:11 +11:00
parent 877459a560
commit 882057eafc
No known key found for this signature in database
GPG Key ID: EEA4341C6D97A0B6
2 changed files with 14 additions and 10 deletions

View File

@ -387,11 +387,12 @@ 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.timer_enabled and self.timeout > 0:
if not self.app.shutdown_timer.is_alive():
self.stop_server()
self.status_bar.showMessage(strings._('close_on_timeout',True))
self.server_status.shutdown_timeout_reset()
if self.app.shutdown_timer and self.server_status.timer_enabled:
if self.timeout > 0:
if not self.app.shutdown_timer.is_alive():
self.stop_server()
self.status_bar.showMessage(strings._('close_on_timeout',True))
self.server_status.shutdown_timeout_reset()
# scroll to the bottom of the dl progress bar log pane
# if a new download has been added

View File

@ -186,11 +186,14 @@ class ServerStatus(QtWidgets.QVBoxLayout):
Toggle starting or stopping the server.
"""
if self.status == self.STATUS_STOPPED:
# Get the timeout chosen, stripped of its seconds. This prevents confusion if the share stops at (say) 37 seconds past the minute chosen
self.timeout = self.server_shutdown_timeout.dateTime().toPyDateTime().replace(second=0, microsecond=0)
# If the timeout has actually passed already before the user hit Start, refuse to start the server.
if QtCore.QDateTime.currentDateTime().toPyDateTime() > self.timeout:
Alert(strings._('gui_server_timeout_expired', QtWidgets.QMessageBox.Warning))
if self.timer_enabled:
# Get the timeout chosen, stripped of its seconds. This prevents confusion if the share stops at (say) 37 seconds past the minute chosen
self.timeout = self.server_shutdown_timeout.dateTime().toPyDateTime().replace(second=0, microsecond=0)
# If the timeout has actually passed already before the user hit Start, refuse to start the server.
if QtCore.QDateTime.currentDateTime().toPyDateTime() > self.timeout:
Alert(strings._('gui_server_timeout_expired', QtWidgets.QMessageBox.Warning))
else:
self.start_server()
else:
self.start_server()
elif self.status == self.STATUS_STARTED: