code: def quit(self, exit_code=0, event=None):
          
  
          # --- 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)
docs: Quits the Application.
  
          :param exit_code: Exit code.
          :type exit_code: int
          :param event: QEvent.
          :type event: QEvent