Esempio n. 1
0
 def buildUI(self):
     self.process = Process(self.dataReady, self.onError, self.onOutput,
                            self.isFinished, self)
     self.cmdField = PlainTextEdit({
         'lwm': QPlainTextEdit.NoWrap,
         'sfh': 25,
         'vsbp': SCROLLBAROFF,
         'adr': True
     })
     self.textWindow = PlainTextEdit({'rol': True}, self)
     self.cursor = self.cmdField.textCursor()
     self.copySelectedTextAction = ShortCut('Copy', 'Copy', 'Shift+Ctrl+c',
                                            self.copyText, self)
     self.cancelAction = ShortCut('Cancel', 'Cancel', 'Ctrl+c',
                                  self.killProcess, self)
     self.pasteTextAction = ShortCut('Paste', 'Paste', 'Shift+Ctrl+v',
                                     self.pasteText, self)
     self.textWindow.addActions(
         [self.cancelAction, self.copySelectedTextAction])
     self.cmdField.addAction(self.pasteTextAction)
     self.cmdField.installEventFilter(self)
     self.cursorEnd()
     sysinfo = QSysInfo()
     myMachine = "CPU Architecture: {0}***{1}***{2}***{3}".format(
         sysinfo.currentCpuArchitecture(), sysinfo.prettyProductName(),
         sysinfo.kernelType(), sysinfo.kernelVersion())
     self.statusBar = StatusBar(self)
     self.statusBar.showMessage(myMachine, 0)
     self.layout.addWidget(self.textWindow)
     self.layout.addWidget(self.cmdField)
     self.layout.addWidget(self.statusBar)
Esempio 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()
Esempio n. 3
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()
Esempio n. 4
0
 def createStatusBar(self):
     sysinfo = QSysInfo()
     myMachine = "current CPU Architecture: " + sysinfo.currentCpuArchitecture(
     ) + " *** " + sysinfo.prettyProductName(
     ) + " *** " + sysinfo.kernelType() + " " + sysinfo.kernelVersion()
     self.statusBar().showMessage(myMachine, 0)