- changed hide() for close()

- ftrack_run: added thread for logout from ftrack/ was freezing whole 
application
This commit is contained in:
Jakub Trllo 2018-12-11 14:18:34 +01:00
parent 45a39f3cd8
commit 5ae016af8a
2 changed files with 36 additions and 16 deletions

View file

@ -22,7 +22,6 @@ log = pype.Logger.getLogger(__name__, "ftrack")
class FtrackRunner:
def __init__(self, main_parent=None, parent=None):
self.parent = parent
@ -32,7 +31,7 @@ class FtrackRunner:
self.thread_action_server = None
self.thread_timer = None
self.thread_timer_coundown = None
self.thread_logout = None
# self.signal_start_timer.connect(self.timerStart)
self.bool_logged = False
@ -77,12 +76,25 @@ class FtrackRunner:
self.start_action_server()
def logout(self):
credentials._clear_credentials()
self.stop_action_server()
log.info("Logged out of Ftrack")
self.bool_logged = False
self.set_menu_visibility()
self.aLogin.setEnabled(False)
log.debug('Ftrack logout started')
if self.thread_logout is not None:
self.thread_logout.terminate()
self.thread_logout.wait()
self.thread_logout = LogoutThread(self)
self.thread_logout.signal_logged_out.connect(self.logged_out)
self.thread_logout.start()
def logged_out(self):
message = 'You were successfully Logged out from Ftrack'
self.parent.showMessage('Ftrack logout', message, 0)
self.aLogin.setEnabled(True)
self.thread_logout.terminate()
self.thread_logout.wait()
self.thread_logout = None
# Actions part
def start_action_server(self):
@ -229,6 +241,20 @@ class FtrackRunner:
if self.thread_timer_coundown is not None:
self.thread_timer_coundown.signal_continue_timer.emit()
class LogoutThread(QtCore.QThread):
# Senders
signal_logged_out = QtCore.Signal()
def __init__(self, parent):
super(LogoutThread, self).__init__()
self.parent = parent
def run(self):
credentials._clear_credentials()
self.parent.stop_action_server()
log.info("Logged out of Ftrack")
self.signal_logged_out.emit()
class FtrackEventsThread(QtCore.QThread):
# Senders
signal_timer_started = QtCore.Signal()
@ -494,13 +520,11 @@ class StopTimer(QtWidgets.QWidget):
self.close_widget()
def closeEvent(self, event):
event.ignore()
if self.main_context is True:
self.continue_timer()
else:
self.close_widget()
def close_widget(self):
self.main_context = True
self.refresh_context()
self.hide()
def close_widget(self):
self.close()

View file

@ -301,9 +301,5 @@ class Login_Dialog_ui(QtWidgets.QWidget):
self.parent.loginChange()
self._close_widget()
def closeEvent(self, event):
event.ignore()
self._close_widget()
def _close_widget(self):
self.hide()
self.close()