Пример #1
0
async def show_game_session(app: QtWidgets.QApplication, options, session_id: int):
    from randovania.gui.game_session_window import GameSessionWindow
    from randovania.gui.lib.qt_network_client import QtNetworkClient
    from randovania.interface_common.preset_manager import PresetManager

    network_client: QtNetworkClient = app.network_client

    sessions = [
        session
        for session in await network_client.get_game_session_list(False)
        if session.id == session_id
    ]
    if not sessions:
        app.quit()
        return
    await network_client.join_game_session(sessions[0], None)

    preset_manager = PresetManager(options.presets_path)

    app.game_session_window = await GameSessionWindow.create_and_update(
        network_client,
        app.game_connection,
        preset_manager,
        None,
        options
    )
    app.game_session_window.show()
Пример #2
0
 def closeEvent(self, event):
     self.data.save({
         'width': self.width(),
         'height': self.height(),
         'optionsOpened': self.options_window.isVisible()
     })
     event.accept()
     QApplication.quit()
Пример #3
0
async def show_main_window(app: QtWidgets.QApplication, options, is_preview: bool):
    from randovania.interface_common.preset_manager import PresetManager
    from randovania.interface_common.options import Options
    options = typing.cast(Options, options)
    preset_manager = PresetManager(options.presets_path)

    logger.info("Loading user presets...")
    await preset_manager.load_user_presets()
    logger.info("Finished loading presets!")

    from randovania.gui.lib.qt_network_client import QtNetworkClient
    network_client: QtNetworkClient = app.network_client

    async def attempt_login():
        from randovania.network_client.network_client import UnableToConnect
        from randovania.gui.lib import async_dialog

        try:
            from randovania.gui import main_online_interaction
            if not await main_online_interaction.ensure_logged_in(None, network_client):
                await async_dialog.warning(None, "Login required",
                                           "Logging in is required to use dev builds.")
                return False

        except UnableToConnect as e:
            s = e.reason.replace('\n', '<br />')
            await async_dialog.warning(
                None, "Connection Error",
                f"<b>Unable to connect to the server:</b><br /><br />{s}<br /><br />"
                f"Logging in is required to use dev builds.")
            return False

        return True

    if randovania.is_frozen() and randovania.is_dev_version():
        try:
            logger.info("Disabling quit on last window closed")
            app.setQuitOnLastWindowClosed(False)
            if not await attempt_login():
                app.quit()
                return
        finally:
            def reset_last_window_quit():
                logger.info("Re-enabling quit on last window closed")
                app.setQuitOnLastWindowClosed(True)

            QtCore.QTimer.singleShot(1000, reset_last_window_quit)

    from randovania.gui.main_window import MainWindow
    logger.info("Preparing main window...")
    main_window = MainWindow(options, preset_manager, network_client, is_preview)
    app.main_window = main_window

    logger.info("Displaying main window")
    main_window.show()
    await main_window.request_new_data()
Пример #4
0
    def closeEvent(self, event):
        """Close application.

        Parameters
        ----------
        event : QEvent
            Close event.
        """
        write_settings(size=self.size(), pos=self.pos())
        if self.model.history:
            print("\n# Command History\n")
            print("\n".join(self.model.history))
        QApplication.quit()
Пример #5
0
 def eventFilter(self, watched, event):
     if event.type() == QEvent.Type.KeyPress:
         if event.key() == Qt.Key_Q:
             QApplication.quit()
         elif event.key() == Qt.Key_Space:
             playButton = self.findChildren(Button,
                                            QtCore.QRegularExpression(''))
             for button in playButton:
                 if button.text() == "Play":
                     button.setChecked(not button.isChecked())
                     button.warnState()
                     break
         return True
     return False
Пример #6
0
 def exit_app(self, checked):
     QApplication.quit()
Пример #7
0
 def quit_application(self):
     QApplication.quit()
Пример #8
0
 def quit(self):
     self.setVisible(False)
     if 'check_thread' in dir(self):
         self.check_thread.stop()
     QApplication.quit()
     sys.exit()
Пример #9
0
import logging
from PySide6.QtCore import Qt
from PySide6.QtWidgets import QApplication

import feed_manager
import view

# initialization
app = QApplication([])

logging.basicConfig(filename="log.txt",
                    filemode="a",
                    format="%(asctime)s %(levelname)s:%(message)s")
feed_manager = feed_manager.FeedManager()
view = view.View(feed_manager)

try:
    # start program
    app.exec()

    # cleanup
    feed_manager.cleanup()
    view.cleanup()

except BaseException as e:
    logging.exception("Exception thrown!, ", e)

app.quit()
logging.shutdown()
Пример #10
0
 def slot_menu_quit(self):
     if self.unsaved_changes:
         if not self.unsaved_changes_dialog.exec_():
             return
     QApplication.quit()
Пример #11
0
 def closeEvent(self, event):
     print('I Quit')
     self.dbHandler.conn.close()
     QApplication.quit()