コード例 #1
0
    def __init__(self, *args):
        super().__init__(*args)

        from shared.config import SettingsAccessorBase
        from Settings import DEFAULT_SETTINGS
        self.settings = SettingsAccessorBase(constants.FRONTEND_CONFIG_FILE,
                                             DEFAULT_SETTINGS)
        self.aboutToQuit.connect(lambda: self.settings.save())

        from models import TaskModel, AdapterManager, ProxyModel
        from Schedule.model import SchedulerModel

        self.taskModel = TaskModel()
        self.proxyModel = ProxyModel()
        self.proxyModel.setSourceModel(self.taskModel)
        self.schedulerModel = SchedulerModel(self)
        self.schedulerModel.setSourceModel(self.taskModel)

        self.adapterManager = AdapterManager(taskModel=self.taskModel)
        for name, item in self.settings.itr_sections_with_prefix("adapter"):
            self.adapterManager.loadAdapter(item)

        from Tasks.action import TaskCreationAgent
        self.taskCreationAgent = TaskCreationAgent(self)
        self.taskCreationAgent.available.connect(self.slotCreateTask)
        self.taskCreationDlg = None

        from Services import SessionService
        self.sessionService = SessionService(self)

        from Widgets.Main import QmlMain
        self.qmlWin = QmlMain(None)
        self.qmlWin.show()
        self.aboutToQuit.connect(lambda: self.qmlWin.deleteLater())
コード例 #2
0
ファイル: morula.py プロジェクト: Benyjuice/XwareDesktop
    def __init__(self, *args):
        super().__init__(*args)

        from models import TaskModel, AdapterManager, ProxyModel
        from libxware import XwareAdapterThread

        self.taskModel = TaskModel()
        self.proxyModel = ProxyModel()
        self.proxyModel.setSourceModel(self.taskModel)

        self.adapterManager = AdapterManager()
        self.xwareAdapterThread = XwareAdapterThread({
            "host": "127.0.0.1",
            "port": 9000,
        })
        self.xwareAdapterThread.start()

        self.qmlWin = QmlMain(None)
        self.qmlWin.show()
コード例 #3
0
    def __init__(self, *args):
        super().__init__(*args)
        logging.info("XWARE DESKTOP STARTS")
        self.setApplicationName("XwareDesktop")
        self.setApplicationVersion(__version__)
        os.chdir(os.path.dirname(os.path.abspath(__file__)))
        self.checkOneInstance()

        font = QFont()
        font.setPointSize(10)
        self.setFont(font)

        QIcon.setThemeName(
            "")  # Compat for Ubuntu 14.04: A magical fix for #102

        from Settings import DEFAULT_SETTINGS
        from shared.config import SettingsAccessorBase
        self.settings = SettingsAccessorBase(constants.FRONTEND_CONFIG_FILE,
                                             DEFAULT_SETTINGS)
        self.aboutToQuit.connect(lambda: self.settings.save())

        from models import TaskModel, AdapterManager, ProxyModel

        self.taskModel = TaskModel()
        self.proxyModel = ProxyModel()
        self.proxyModel.setSourceModel(self.taskModel)

        self.adapterManager = AdapterManager(taskModel=self.taskModel)
        for name, item in self.settings.itr_sections_with_prefix("adapter"):
            self.adapterManager.loadAdapter(item)

        # components
        from Services import SessionService
        self.sessionService = SessionService(self)

        from Widgets.systray import Systray
        from Notify import Notifier
        from Schedule.model import SchedulerModel
        from Tasks.action import TaskCreationAgent

        self.systray = Systray(self)
        self.notifier = Notifier(taskModel=self.taskModel,
                                 frontendSettings=self.settings["frontend"],
                                 parent=self)
        self.schedulerModel = SchedulerModel(self)
        self.schedulerModel.setSourceModel(self.taskModel)
        self.taskCreationAgent = TaskCreationAgent(self)
        self.monitorWin = None
        self.applySettings.connect(self.slotCreateCloseMonitorWindow)

        # Legacy parts
        from legacy import main
        from legacy.frontendpy import FrontendPy
        self.mainWin = main.MainWindow(
            adapter=self.adapterManager[0],
            taskCreationAgent=self.taskCreationAgent,
            frontendSettings=self.settings["frontend"],
            app=self)
        self.mainWin.show()
        self.frontendpy = FrontendPy(
            taskCreationAgent=self.taskCreationAgent,
            legacySettings=self.settings["legacy"],
            adapterSettings=self.settings["adapter-legacy"],
            adapter=self.adapterManager[0],
            mainWin=self.mainWin,
            parent=self)
        self.sigMainWinLoaded.emit()

        self.applySettings.emit()

        upgradeGuide = None
        if self.settings.myGet("internal", "previousversion") == "0.8":
            # upgraded or fresh installed
            upgradeGuide = "https://github.com/Xinkai/XwareDesktop/wiki/使用说明"
        else:
            previousdate = self.settings.getfloat("internal", "previousdate")
            if previousdate == 0:  # upgrade from pre-0.12
                upgradeGuide = "https://github.com/Xinkai/XwareDesktop/wiki/升级到0.12"

        if upgradeGuide:
            from PyQt5.QtCore import QUrl
            from PyQt5.QtGui import QDesktopServices
            QDesktopServices.openUrl(QUrl(upgradeGuide))

        self.settings.set("internal", "previousversion", __version__)
        self.settings.setfloat("internal", "previousdate", DATE)