Пример #1
0
class DesktopFile(object):
    def __init__(self, fileName=None):
        self._settings = None  # QSharedPointer<QSettings>

        if fileName is not None:
            self._settings = QSettings(fileName, QSettings.IniFormat)
            self._settings.setIniCodec('UTF-8')
            self._settings.beginGroup('Desktop Entry')

    def fileName(self):
        if self._settings:
            return self._settings.fileName()
        else:
            return ''

    def name(self):
        self.value('Name', True)

    def comment(self):
        return self.value('Comment', True)

    def type(self):
        return self.value('Type')

    def icon(self):
        return self.value('Icon')

    def value(self, key, localized=False):
        if not self._settings:
            return None
        if localized:
            locale = QLocale.system()
            localeKey = '%s[%s]' % (key, locale.name())
            if self._settings.contains(localeKey):
                return self._settings.value(localeKey)
            localeKey = '%s[%s]' % (key, locale.bcp47Name())
            if self._settings.contains(localeKey):
                return self._settings.value(localeKey)
            idx = locale.name().index('_')
            if idx > 0:
                localeKey = '%s[%s]' % (key, locale.name()[:idx])
                if self._settings.contains(localeKey):
                    return self._settings.value(localeKey)
        return self._settings.value(key)

    def tryExec(self):
        if not self._settings:
            return False

        exec_ = self._settings.value('TryExec')
        if not exec_:
            return True
        if QStandardPaths.findExecutable(exec_):
            return True
        return False
Пример #2
0
 def set_user_settings(self, group_name, category, value):
     """
     Saves user settings for a given group and category.
     group_name -- The group in which to save the settings value.
     category -- The category in which to save the settings value.
     value -- The value to save.
     """
     settings = QSettings(self.user_settings_file, QSettings.IniFormat)
     settings.beginGroup(group_name)
     settings.setValue(str(category), value)
     settings.endGroup()
Пример #3
0
 def get_user_settings(self, group_name, category):  
     """
     Retrieves user settings for the given group and category.
     group_name -- The group for which to retrieve settings values.
     category -- The category for which to retrieve settings values.
     """
     settings = QSettings(self.user_settings_file, QSettings.IniFormat)
     settings.beginGroup(group_name)        
     savedValue = settings.value(str(category))
     settings.endGroup()
     
     return savedValue
Пример #4
0
    def setConfig(self, info):
        self._serialConfig.port = info.port
        self._serialConfig.baudRate = info.baudRate
        self._serialConfig.dataBits = info.dataBits
        self._serialConfig.parity = info.parity
        self._serialConfig.stopBits = info.stopBits

        #
        settings = QSettings(self)
        settings.beginGroup("Settings/" + self.objectName() + "/SerialPort")
        settings.setValue("port", self._serialConfig.port)
        settings.setValue("info", self.__str__())
        settings.endGroup()
Пример #5
0
    def __init__(self, parent=None):
        super(SerialPortProxy, self).__init__(parent)
        self.setObjectName("SerialPortProxy")

        #
        self._currIndex = 0
        self._currFrameId = 0
        self._frameSize = 0
        self._streamBuff = []
        self._newBuff = [0] * 4096
        self._pkgBuff = [0] * 100
        self._serialRecv = SerialRecv()

        self._serialConfig = SerialPortConfig()
        self._serialPort = QSerialPort(self)

        #
        self._serialPort.error.connect(self.onSerialPortError)
        self._serialPort.readyRead.connect(self.readData)

        #
        self._serialSimulate = None  # SerialSimulate(self)

        # read configuration
        settings = QSettings(self)
        # group - serialport properties
        settings.beginGroup("Settings/" + self.objectName() + "/SerialPort")
        self._serialConfig.port = settings.value("port", "COM1")
        infolist = settings.value("info", "115200-8-N-1").split("-")
        self._serialConfig.baudRate = int(infolist[0])
        dataBits = int(infolist[1])
        self._serialConfig.dataBits = (
            QSerialPort.Data5
            if dataBits == 5
            else QSerialPort.Data6
            if dataBits == 6
            else QSerialPort.Data7
            if dataBits == 7
            else QSerialPort.Data8
            if dataBits == 8
            else QSerialPort.Data8
        )
        parity = infolist[2][0].upper()
        self._serialConfig.parity = (
            QSerialPort.NoParity
            if parity == "N"
            else QSerialPort.EvenParity
            if parity == "E"
            else QSerialPort.OddParity
            if parity == "O"
            else QSerialPort.SpaceParity
            if parity == "S"
            else QSerialPort.MarkParity
            if parity == "M"
            else QSerialPort.NoParity
        )
        stopBits = int(float(infolist[3]) * 10)
        self._serialConfig.stopBits = (
            QSerialPort.OneStop
            if stopBits == 10
            else QSerialPort.OneAndHalfStop
            if stopBits == 15
            else QSerialPort.TwoStop
            if stopBits == 20
            else QSerialPort.OneStop
        )
        settings.endGroup()