def quit(self, exit_code=0, event=None):
        """
        Quits the Application.

        :param exit_code: Exit code.
        :type exit_code: int
        :param event: QEvent.
        :type event: QEvent
        """

        # --- Running on_close components methods. ---
        for component in reversed(self.__components_manager.list_components()):
            interface = self.__components_manager.get_interface(component)
            if not interface:
                continue

            if not interface.activated:
                continue

            if not hasattr(interface, "on_close"):
                continue

            if not interface.on_close():
                event and event.ignore()
                return

        # Storing current layout.
        self.__layouts_manager.store_startup_layout()
        self.__settings.settings.sync()

        # Stopping worker threads.
        for worker_thread in self.__worker_threads:
            LOGGER.debug("> Stopping worker thread: '{0}'.".format(worker_thread))
            if not worker_thread.isFinished():
                worker_thread.quit()
            worker_thread.wait()

        foundations.verbose.remove_logging_handler(self.__logging_file_handler)
        foundations.verbose.remove_logging_handler(self.__logging_session_handler)
        # foundations.verbose.remove_logging_handler(self.__logging_console_handler)

        # Stopping the Application timer.
        self.__timer.stop()
        self.__timer = None

        self.deleteLater()
        event and event.accept()

        exit(exit_code)
def quit ( self , exit_code = 0 , event = None ) : for component in reversed ( self . __components_manager . list_components ( ) ) : interface = self . __components_manager . get_interface ( component ) if not interface : continue if not interface . activated : continue if not hasattr ( interface , "on_close" ) : continue if not interface . on_close ( ) : event and event . ignore ( ) return self . __layouts_manager . store_startup_layout ( ) self . __settings . settings . sync ( ) for worker_thread in self . __worker_threads : LOGGER . debug ( "> Stopping worker thread: '{0}'." . format ( worker_thread ) ) if not worker_thread . isFinished ( ) : worker_thread . quit ( ) worker_thread . wait ( ) foundations . verbose . remove_logging_handler ( self . __logging_file_handler ) foundations . verbose . remove_logging_handler ( self . __logging_session_handler ) self . __timer . stop ( ) self . __timer = None self . deleteLater ( ) event and event . accept ( ) exit ( exit_code )
Quits the Application.

        :param exit_code: Exit code.
        :type exit_code: int
        :param event: QEvent.
        :type event: QEvent