Calculate the time difference in a more appropriate spot (rather than on clicking Start, but when the server is ready, as it may have taken some time, but should still stop at the nominated time)

This commit is contained in:
Miguel Jacq 2017-11-09 12:35:38 +11:00
parent 44fb6c69ae
commit b618d8c15d
No known key found for this signature in database
GPG key ID: EEA4341C6D97A0B6
2 changed files with 11 additions and 10 deletions

View file

@ -316,6 +316,15 @@ class OnionShareGui(QtWidgets.QMainWindow):
self.filesize_warning.setText(strings._("large_filesize", True))
self.filesize_warning.show()
if self.server_status.server_shutdown_timeout_checkbox.isChecked():
# Convert the date value to seconds between now and then
now = QtCore.QDateTime.currentDateTime()
self.timeout = now.secsTo(self.server_status.server_shutdown_timeout.dateTime())
# Set the shutdown timeout value
if self.timeout > 0:
self.app.shutdown_timer = common.close_after_seconds(self.timeout)
self.app.shutdown_timer.start()
def start_server_error(self, error):
"""
If there's an error when trying to start the onion service
@ -374,9 +383,9 @@ 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.timeout > 0:
if self.app.shutdown_timer and self.timeout > 0:
if not self.app.shutdown_timer.is_alive():
self.server_status.stop_server()
self.stop_server()
self.status_bar.showMessage(strings._('close_on_timeout',True))
# scroll to the bottom of the dl progress bar log pane

View file

@ -186,14 +186,6 @@ class ServerStatus(QtWidgets.QVBoxLayout):
The server has finished starting.
"""
self.status = self.STATUS_STARTED
if self.server_shutdown_timeout_checkbox.isChecked():
# 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.timeout > 0:
self.app.shutdown_timer = common.close_after_seconds(self.timeout)
self.app.shutdown_timer.start()
self.copy_url()
self.update()