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