87 lines
2.5 KiB
Python
87 lines
2.5 KiB
Python
|
|
# 全局设置连接器
|
|||
|
|
|
|||
|
|
import os
|
|||
|
|
from PySide2.QtCore import QObject, Slot
|
|||
|
|
|
|||
|
|
from . import app_opengl
|
|||
|
|
from .i18n_configs import I18n
|
|||
|
|
from ..platform import Platform
|
|||
|
|
from .pre_configs import getErrorStr
|
|||
|
|
from ..server import web_server
|
|||
|
|
from ..server.cmd_server import CmdActuator
|
|||
|
|
from umi_log import change_save_log_level, open_logs_dir
|
|||
|
|
|
|||
|
|
|
|||
|
|
class GlobalConfigsConnector(QObject):
|
|||
|
|
def __init__(self):
|
|||
|
|
super().__init__()
|
|||
|
|
|
|||
|
|
# 创建快捷方式
|
|||
|
|
@Slot(str, result=str)
|
|||
|
|
def createShortcut(self, position):
|
|||
|
|
return Platform.Shortcut.createShortcut(position)
|
|||
|
|
|
|||
|
|
# 删除快捷方式
|
|||
|
|
@Slot(str, result=int)
|
|||
|
|
def deleteShortcut(self, position):
|
|||
|
|
return Platform.Shortcut.deleteShortcut(position)
|
|||
|
|
|
|||
|
|
# 获取UI语言信息
|
|||
|
|
@Slot(result="QVariant")
|
|||
|
|
def i18nGetInfos(self):
|
|||
|
|
return I18n.getInfos()
|
|||
|
|
|
|||
|
|
# 设置UI语言
|
|||
|
|
@Slot(str, result=bool)
|
|||
|
|
def i18nSetLanguage(self, lang):
|
|||
|
|
return I18n.setLanguage(lang)
|
|||
|
|
|
|||
|
|
# 获取Opengl渲染器选项
|
|||
|
|
@Slot(result=str)
|
|||
|
|
def getOpengl(self):
|
|||
|
|
return app_opengl.getOpengl()
|
|||
|
|
|
|||
|
|
# 设置Opengl渲染器选项
|
|||
|
|
@Slot(str)
|
|||
|
|
def setOpengl(self, opt):
|
|||
|
|
app_opengl.setOpengl(opt)
|
|||
|
|
|
|||
|
|
# 修改日志级别,成功返回T
|
|||
|
|
@Slot(str, result=bool)
|
|||
|
|
def change_save_log_level(self, levelname):
|
|||
|
|
return change_save_log_level(levelname)
|
|||
|
|
|
|||
|
|
# 打开日志保存目录
|
|||
|
|
@Slot()
|
|||
|
|
def open_logs_dir(self):
|
|||
|
|
open_logs_dir()
|
|||
|
|
|
|||
|
|
# 启动web服务器,传入qml对象及回调函数名。
|
|||
|
|
@Slot("QVariant", str, str, result=int)
|
|||
|
|
def runUmiWeb(self, qmlObj, callback, host):
|
|||
|
|
web_server.runUmiWeb(qmlObj, callback, host)
|
|||
|
|
|
|||
|
|
# 设置服务端口号
|
|||
|
|
@Slot(int)
|
|||
|
|
def setServerPort(self, port):
|
|||
|
|
web_server.setPort(port)
|
|||
|
|
|
|||
|
|
# 将qml模块字典传入cmd执行器
|
|||
|
|
@Slot("QVariant")
|
|||
|
|
def setQmlToCmd(self, moduleDict):
|
|||
|
|
CmdActuator.initCollect(moduleDict)
|
|||
|
|
|
|||
|
|
# 检查权限,返回检查结果
|
|||
|
|
@Slot(result=str)
|
|||
|
|
def checkAccess(self):
|
|||
|
|
cwd = os.getcwd() # 当前工作路径
|
|||
|
|
err = getErrorStr() # 读写异常情况
|
|||
|
|
if not err: # 没有异常,则再检查一遍权限
|
|||
|
|
if not os.access(cwd, os.R_OK):
|
|||
|
|
err += "在当前路径不具有可读权限。\nDo not have read permission on the current path."
|
|||
|
|
if not os.access(cwd, os.W_OK):
|
|||
|
|
err += "在当前路径不具有可写权限。\nDo not have write permission on the current path."
|
|||
|
|
if err:
|
|||
|
|
err = cwd + "\n" + err
|
|||
|
|
return err
|