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())
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()
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)