Add ability to cancel a share

This commit is contained in:
Miguel Jacq 2018-02-25 17:44:27 +11:00
parent 1a7b5b6f7d
commit 096c202362
No known key found for this signature in database
GPG key ID: 5418373DFF79BA19
4 changed files with 67 additions and 13 deletions

View file

@ -29,6 +29,7 @@ class ServerStatus(QtWidgets.QWidget):
"""
server_started = QtCore.pyqtSignal()
server_stopped = QtCore.pyqtSignal()
server_canceled = QtCore.pyqtSignal()
button_clicked = QtCore.pyqtSignal()
url_copied = QtCore.pyqtSignal()
hidservauth_copied = QtCore.pyqtSignal()
@ -190,7 +191,7 @@ class ServerStatus(QtWidgets.QWidget):
self.server_button.setToolTip(strings._('gui_stop_server_shutdown_timeout_tooltip', True).format(self.timeout))
elif self.status == self.STATUS_WORKING:
self.server_button.setStyleSheet(button_working_style)
self.server_button.setEnabled(False)
self.server_button.setEnabled(True)
self.server_button.setText(strings._('gui_please_wait'))
if self.settings.get('shutdown_timeout'):
self.shutdown_timeout_container.hide()
@ -218,6 +219,8 @@ class ServerStatus(QtWidgets.QWidget):
self.start_server()
elif self.status == self.STATUS_STARTED:
self.stop_server()
elif self.status == self.STATUS_WORKING:
self.cancel_server()
self.button_clicked.emit()
def start_server(self):
@ -245,6 +248,16 @@ class ServerStatus(QtWidgets.QWidget):
self.update()
self.server_stopped.emit()
def cancel_server(self):
"""
Cancel the server.
"""
common.log('ServerStatus', 'cancel_server', 'Canceling the server mid-startup')
self.status = self.STATUS_WORKING
self.shutdown_timeout_reset()
self.update()
self.server_canceled.emit()
def stop_server_finished(self):
"""
The server has finished stopping.