Ejemplo n.º 1
0
    def _onOpenKeyboard(self):
        kernelType = QSysInfo.kernelType()
        if kernelType == 'winnt':
            try:
                path = glob.glob(
                    r'C:\Windows\WinSxS\amd64_microsoft-windows-osk_*\osk.exe')[0]
                ret = QProcess.startDetached(path)
                self.resultEdit.append('start 64 osk: %s' % ret)
            except Exception as e:
                self.resultEdit.append('start osk error: %s' % e)
            try:
                # 32位程序调用64位操作系统下的程序会被重定向到SysWOW64目录
                # 可通过`Wow64DisableWow64FsRedirection`和`Wow64RevertWow64FsRedirection`控制
                ret = QProcess.startDetached(r'C:\Windows\system32\osk.exe')
                self.resultEdit.append('start 32 osk: %s' % ret)
            except Exception as e:
                self.resultEdit.append('start osk error: %s' % e)
        elif kernelType == 'darwin':
            pass
#         elif kernelType=='linux':
        else:
            ret = QProcess.startDetached('florence')
            self.resultEdit.append('start florence: %s' % ret)
            ret = QProcess.startDetached('onboard')
            self.resultEdit.append('start onboard: %s' % ret)
            ret = QProcess.startDetached('kvkbd')
            self.resultEdit.append('start kvkbd: %s' % ret)
Ejemplo n.º 2
0
    def get_os_name(self):
        global q_os_version_available
        try:
            os_name = QSysInfo.prettyProductName()

            if q_os_version_available:
                ver = QOperatingSystemVersion.current()
                if ver.name() != '':
                    os_name += ' {} '.format(ver.name())
                if ver.segmentCount() > 2:
                    os_name += '{}.{}.{}'.format(ver.majorVersion(),
                                                 ver.minorVersion(),
                                                 ver.microVersion())
                elif ver.segmentCount == 2:
                    os_name += '{}.{}'.format(ver.majorVersion(),
                                              ver.minorVersion())
                elif ver.segmentCount == 1:
                    os_name += '{}'.format(ver.majorVersion())

            kernel_name = QSysInfo.kernelType() + ' ' + QSysInfo.kernelVersion(
            )
            if os_name != kernel_name:
                os_name += ' ({})'.format(kernel_name)
            return os_name
        except Exception as e:
            return platform.platform()
    def on_run_on_startup_toggled(self, i_checked_bool):
        if QSysInfo.kernelType() == "linux":
            pass
        elif QSysInfo.kernelType() == "darwin":
            plist = "com.matc.mindfulness-at-the-computer.plist"
            source_file = mc.mc_global.get_user_files_path(plist)
            target_dir = os.path.join(os.path.expanduser("~"), "Library/LaunchAgents/")

            if i_checked_bool and os.path.isdir("/Applications/mindfulness-at-the-computer.app"):
                copyfile(source_file, os.path.join(target_dir, plist))

            elif os.path.isfile(os.path.join(target_dir, plist)):
                os.remove(os.path.join(target_dir, plist))
        elif QSysInfo.kernelType() == "winnt":
            pass

        mc.model.SettingsM.get().run_on_startup = i_checked_bool
    def on_run_on_startup_toggled(self, i_checked_bool):
        if QSysInfo.kernelType() == "linux":
            pass
        elif QSysInfo.kernelType() == "darwin":
            plist = "com.matc.mindfulness-at-the-computer.plist"
            source_file = mc.mc_global.get_user_files_path(plist)
            target_dir = os.path.join(os.path.expanduser("~"),
                                      "Library/LaunchAgents/")

            if i_checked_bool and os.path.isdir(
                    "/Applications/mindfulness-at-the-computer.app"):
                copyfile(source_file, os.path.join(target_dir, plist))

            elif os.path.isfile(os.path.join(target_dir, plist)):
                os.remove(os.path.join(target_dir, plist))
        elif QSysInfo.kernelType() == "winnt":
            pass

        mc.model.SettingsM.get().run_on_startup = i_checked_bool
Ejemplo n.º 5
0
    def createPanel(self):
        labelReportTitle = QLabel(
            self.translate("bugReport", "Bug Report Title: "))
        self.lineEditReportTitle = QLineEdit()

        labelTestedEnvironment = QLabel(
            self.translate("bugReport", "Tested Environment: "))
        self.lineEditTestedEnvironment = QLineEdit(
            self.translate(
                "bugReport",
                """System Platform:{}_{}   Python Version:{}.{}.{}-{}   PyQt Version:{}    QT Version:{}"""
            ).format(
                QSysInfo.prettyProductName() if QSysInfo.prettyProductName()
                == "unknown" else "{}-{}".format(QSysInfo.kernelType(),
                                                 QSysInfo.kernelVersion()),
                QSysInfo.currentCpuArchitecture(), sys.version_info.major,
                sys.version_info.minor, sys.version_info.micro,
                sys.version_info.releaselevel, PYQT_VERSION_STR,
                QT_VERSION_STR))

        radioBtnQuickReport = QRadioButton(
            self.translate("bugReport", "Quick Report"))
        radioBtnKnowHowFix = QRadioButton(
            self.translate("bugReport", "Know How Fix"))
        radioBtnKnowHowFix.setChecked(True)
        radioBtnFeatureRequest = QRadioButton(
            self.translate("bugReport", "Feature Request"))
        buttonOpenHowReportBugURL = QPushButton(
            self.translate(
                "bugReport",
                """Click Me! Read "HOW REPORT A BUG" before report a bug."""))

        self.buttonGroupBugReport = QButtonGroup()
        self.buttonGroupBugReport.addButton(radioBtnQuickReport)
        self.buttonGroupBugReport.addButton(radioBtnKnowHowFix)
        self.buttonGroupBugReport.addButton(radioBtnFeatureRequest)
        self.buttonGroupBugReport.addButton(buttonOpenHowReportBugURL)

        hboxRadiobutton = QHBoxLayout()
        hboxRadiobutton.addWidget(radioBtnKnowHowFix)
        hboxRadiobutton.addWidget(radioBtnQuickReport)
        hboxRadiobutton.addWidget(radioBtnFeatureRequest)
        hboxRadiobutton.addWidget(buttonOpenHowReportBugURL)
        hboxRadiobutton.addStretch()

        labelStepsToReproduce = QLabel(
            self.translate("bugReport", "Steps To Reproduce: "))
        self.textEditStepsToReproduce = QTextEdit()

        labelActualresults = QLabel(
            self.translate("bugReport", "Actual results: "))
        self.textEditActualresults = QTextEdit()
        self.textEditActualresults.insertPlainText(
            self.translate(
                "bugReport",
                "if have Python's Traceback, Please Paste.\nif is V2Ray-core JSON Editor issue, please Paste the JSON File without server information."
            ))
        self.textEditActualresults.setAcceptDrops(True)

        labelExpectedresults = QLabel(
            self.translate("bugReport", "Expected results: "))
        self.textEditExpectedresults = QTextEdit()

        labelFeatureRequest = QLabel(
            self.translate("bugReport", "Feature Request: "))
        self.textEditFeatureRequest = QTextEdit()

        labelQuickReport = QLabel(self.translate("bugReport",
                                                 "Quick Report: "))
        self.textEditQuickReport = QTextEdit()

        labelHowFix = QLabel(self.translate("bugReport", "How Fix: "))
        self.textEditHowFix = QTextEdit()

        gridBoxReport = QGridLayout()
        gridBoxReport.addWidget(labelReportTitle, 0, 0)
        gridBoxReport.addWidget(self.lineEditReportTitle, 0, 1)
        gridBoxReport.addWidget(labelTestedEnvironment, 1, 0)
        gridBoxReport.addWidget(self.lineEditTestedEnvironment, 1, 1)
        gridBoxReport.addLayout(hboxRadiobutton, 2, 0, 1, 2)

        gridBoxQuickReport = QGridLayout()
        gridBoxQuickReport.addWidget(labelQuickReport, 0, 0)
        gridBoxQuickReport.addWidget(self.textEditQuickReport, 0, 1)

        self.groupBoxQuickReport = QGroupBox("", self)
        self.groupBoxQuickReport.setLayout(gridBoxQuickReport)
        self.groupBoxQuickReport.hide()

        gridBoxKnowHowFix = QGridLayout()
        gridBoxKnowHowFix.addWidget(labelStepsToReproduce, 0, 0)
        gridBoxKnowHowFix.addWidget(self.textEditStepsToReproduce, 0, 1)
        gridBoxKnowHowFix.addWidget(labelActualresults, 1, 0)
        gridBoxKnowHowFix.addWidget(self.textEditActualresults, 1, 1)
        self.buttonInsertPiture = QPushButton(
            self.translate("bugReport", "Insert Picture From URL:"))
        self.lineEditInserPiture = QLineEdit()
        gridBoxKnowHowFix.addWidget(self.lineEditInserPiture, 2, 1)
        gridBoxKnowHowFix.addWidget(self.buttonInsertPiture, 2, 0)
        gridBoxKnowHowFix.addItem(QSpacerItem(50, 50), 3, 0, 1, 4)
        gridBoxKnowHowFix.addWidget(labelExpectedresults, 4, 0)
        gridBoxKnowHowFix.addWidget(self.textEditExpectedresults, 4, 1)
        gridBoxKnowHowFix.addWidget(labelHowFix, 5, 0)
        gridBoxKnowHowFix.addWidget(self.textEditHowFix, 5, 1)

        self.groupBoxKnowHowFix = QGroupBox()
        self.groupBoxKnowHowFix.setLayout(gridBoxKnowHowFix)

        gridBoxFeatureRequest = QGridLayout()
        gridBoxFeatureRequest.addWidget(labelFeatureRequest, 0, 0)
        gridBoxFeatureRequest.addWidget(self.textEditFeatureRequest, 0, 1)

        self.groupBoxFeatureRequest = QGroupBox("", self)
        self.groupBoxFeatureRequest.setLayout(gridBoxFeatureRequest)
        self.groupBoxFeatureRequest.hide()

        hboxButton = QHBoxLayout()
        self.buttonExportBugReportText = QPushButton(
            self.translate("bugReport", "Export Bug Report Text"))
        self.buttonExitButReport = QPushButton(
            self.translate("bugReport", "Exit"))
        hboxButton.addStretch()
        hboxButton.addWidget(self.buttonExportBugReportText)
        hboxButton.addWidget(self.buttonExitButReport)

        vboxBugReport = QVBoxLayout(self)
        vboxBugReport.addLayout(gridBoxReport)
        vboxBugReport.addWidget(self.groupBoxQuickReport)
        vboxBugReport.addWidget(self.groupBoxKnowHowFix)
        vboxBugReport.addWidget(self.groupBoxFeatureRequest)
        vboxBugReport.addLayout(hboxButton)
        vboxBugReport.addStretch()

        self.settextEidtReadonly(result=True)
        self.createSignals()
Ejemplo n.º 6
0
 def createStatusBar(self):
     sysinfo = QSysInfo()
     myMachine = "current CPU Architecture: " + sysinfo.currentCpuArchitecture(
     ) + " *** " + sysinfo.prettyProductName(
     ) + " *** " + sysinfo.kernelType() + " " + sysinfo.kernelVersion()
     self.statusBar().showMessage(myMachine, 0)