Esempio n. 1
0
class MainWindow(QMainWindow):
    def __init__(self, appctxt):
        super(MainWindow, self).__init__()
        self.setWindowTitle("EncryptiiChat")
        self.appctxt = appctxt
        with open(self.appctxt.get_resource("config.json")) as f:
            cfg = json.load(f)
            server = cfg['server']
            port = int(cfg['port'])
        stylesheet = self.appctxt.get_resource('style.qss')
        self.setStyleSheet(open(stylesheet).read())
        print(server, port)
        self.server_exec = Executer(
            (server, port), alias_url=self.appctxt.get_resource("alias.json"))
        atexit.register(self.server_exec.on_exit)
        self.mainWidget = ChatWindow(self.server_exec, self.appctxt)
        self.setCentralWidget(self.mainWidget)

    def closeEvent(self, event):
        print("close")
        if self.server_exec.not_logged_in():
            return
        while True:
            try:
                rsp = self.server_exec.exec_("offline")
                if rsp != False:
                    print(rsp)
                    break
            except:
                continue