def setupUi(self): super(TelemetryLayer, self).setupUi(self) self.dockWidget.setFixedHeight(self.height()) # paramterise self.dockWidget.setFeatures(QtGui.QDockWidget.DockWidgetClosable) self.dockWidget.setWindowTitle(_translate("tlBrokerConfig", "Configure Telemetry Layer", None)) self.ckShowLog.clicked.connect(self._showLog) # Nathan - Use setChecked(bool) to make it easier self.ckShowLog.setCheckState(self._getQtBoxStateValue(Log.logDockVisible())) self.dockWidget.visibilityChanged.connect(self._visibilityChanged) self.btnApply.clicked.connect(self._apply) self.btnAdd.clicked.connect(self._addBroker) logStates = int(Settings.get('logStates', Log.CRITICAL)) # Nathan - The checked state conversion isn't needed # Just call setChecked(bool) # Also consider using a QButtonGroup here in order to have only one button pressed at a time. self.logCritical.setCheckState(self._getQtBoxStateValue(logStates & Log.CRITICAL)) self.logInfo.setCheckState(self._getQtBoxStateValue(logStates & Log.INFO)) self.logWarn.setCheckState(self._getQtBoxStateValue(logStates & Log.WARN)) self.logDebug.setCheckState(self._getQtBoxStateValue(logStates & Log.DEBUG)) self.logStatus.setCheckState(self._getQtBoxStateValue(logStates & Log.STATUS)) self.brokerManagerWidget.setCurrentIndex(self.kBrokerListTabId) self._buildBrokerTable()
def is_changed(values, feature, parent): result = 0 try: result = (int(time.time()) - int(feature['changed'])) < int(Settings.get('changedTimeout', 25)) except (KeyError, TypeError): return 0 finally: return result
def __init__(self, broker, create=False): super(tlTopicManager, self).__init__() self._broker = broker self._create = create systopicxml = os.path.join(Settings.get('plugin_dir'), 'data', 'systopics.xml') self._systopics = XMLTopicParser(systopicxml).getTopics()
def __init__(self, pluginDir): super(tlBrokers, self).__init__() self._jsonfile = None self._loaded = False self._dirty = False self._brokers = {} self._oldBrokers = None self._dirty = False self._dirtyList = [] self._defaultFile = os.path.join(pluginDir, self.kDefaultFile) self._jsonfile = Settings.get("brokerFile", self._defaultFile) tlBrokers._this = self QgsProject.instance().readProject.connect(self.load) self.load()
def load(self): try: jsonstr = Settings.get(self.kBrokerList) if not jsonstr: Log.debug("Load brokers from file") self._brokers = dict(self.importFile()) # backward compatible else: self._brokers = dict(json.loads( jsonstr )) self._validate() #Log.debug(self._dirtyList) self.brokersLoaded.emit(self._dirtyList) self._dirtyList[:] = [] except Exception as e: Log.debug("Error loading broker: " + str(e)) exc_type, exc_value, exc_traceback = sys.exc_info() Log.debug(repr(traceback.format_exception(exc_type, exc_value, exc_traceback))) finally: self._dirty = False
def setupUi(self): super(TelemetryLayer, self).setupUi(self) self.dockWidget.setFixedHeight(self.height()) # paramterise self.dockWidget.setFeatures(QtGui.QDockWidget.DockWidgetClosable) self.dockWidget.setWindowTitle(_translate("tlBrokerConfig", "Configure Telemetry Layer", None)) self.ckShowLog.clicked.connect(self._showLog) self.ckShowLog.setChecked(Log.logDockVisible()) self.dockWidget.visibilityChanged.connect(self._visibilityChanged) self.btnApply.clicked.connect(self._apply) self.btnAdd.clicked.connect(self._addBroker) logStates = int(Settings.get('logStates', Log.CRITICAL)) self.logCritical.setChecked(logStates & Log.CRITICAL) self.logInfo.setChecked(logStates & Log.INFO) self.logWarn.setChecked(logStates & Log.WARN) self.logDebug.setChecked(logStates & Log.DEBUG) self.logStatus.setChecked(logStates & Log.STATUS) self.brokerManagerWidget.setCurrentIndex(self.kBrokerListTabId) self._buildBrokerTable()
def load(self): try: jsonstr = Settings.get(self.kBrokerList) if not jsonstr: Log.debug("Load brokers from file") self._brokers = dict(self.importFile()) # backward compatible else: self._brokers = dict(json.loads(jsonstr)) self._validate() #Log.debug(self._dirtyList) self.brokersLoaded.emit(self._dirtyList) self._dirtyList[:] = [] except Exception as e: Log.debug("Error loading broker: " + str(e)) exc_type, exc_value, exc_traceback = sys.exc_info() Log.debug( repr( traceback.format_exception(exc_type, exc_value, exc_traceback))) finally: self._dirty = False
def setupUi(self): super(tlBrokerConfig, self).setupUi(self) self.connectHelp.clicked.connect(self._help) self.connectTest.clicked.connect(self._test) self.connectName.setValidator(QRegExpValidator(QRegExp("^[a-zA-Z0-9\s]+"), self)) self.connectHost.setValidator(QRegExpValidator(QRegExp("^[a-z0-9\-\.]+"), self)) self.connectHostAlt.setValidator(QRegExpValidator(QRegExp("^[a-z0-9\-\.]+"), self)) self.Tabs.setCurrentIndex(self.kBrokerConfigTabId) # First index # if Modal create mode self.setName(self._broker.name()) self.setHost(self._broker.host()) self.setPort(str(self._broker.port())) self.setHostAlt(self._broker.hostAlt()) self.setPortAlt(str(self._broker.portAlt())) self.setPoll(str(self._broker.poll())) self.setKeepAlive(str(self._broker.keepAlive())) self.setUsername(self._broker.username()) self.setPassword(self._broker.password()) self._connectedTLayers = [] self._featureListItems = {} self._refreshFeature = QTimer() self._refreshFeature.setSingleShot(True) self._refreshFeature.timeout.connect(self._updateFeatureList) self.Tabs.currentChanged.connect(lambda: self._refreshFeature.start(3)) QgsMapLayerRegistry.instance().layersRemoved.connect(self._updateFeatureList) QgsProject.instance().layerLoaded.connect(self._updateFeatureList) self.tableFeatureList.doubleClicked.connect(self._showFeatureDialog) self.tableFeatureList.clicked.connect(self._zoomToFeature) self.connectApply.setEnabled(False) if self._mode == Constants.Create: # Create Layer - so Modal self.connectPoll.setCurrentIndex( self.connectPoll.findText(Settings.get('mqttPoll', 5))) self.connectApply.setText(_translate("tlBrokerConfig", "Create", None)) self.connectApply.clicked.connect(self.accept) self.dockWidget.setFeatures(QtGui.QDockWidget.NoDockWidgetFeatures) self.dockWidget.setWindowTitle(_translate("tlBrokerConfig", "Add Broker", None)) #self.Tabs.setEnabled(False) # self.connectFarmSenseServer.setEnabled(False) elif self._mode == Constants.Update: if self._broker.useAltConnect(): self.connectDefault.setChecked(False) self.connectAlt.setChecked(True) else: self.connectDefault.setChecked(True) self.connectAlt.setChecked(False) self.dockWidget.setFeatures(QtGui.QDockWidget.NoDockWidgetFeatures) self.dockWidget.setWindowTitle(_translate("tlBrokerConfig", "Configure ", None) + self.getName()) self.connectApply.setText(_translate("tlBrokerConfig", "Apply", None)) self.dockWidget.visibilityChanged.connect(self.tearDown) self.connectName.textChanged.connect(lambda: self.setDirty(True)) self.connectHost.textChanged.connect(lambda: self.setDirty(True)) self.connectPort.textChanged.connect(lambda: self.setDirty(True)) self.connectHostAlt.textChanged.connect(lambda: self.setDirty(True)) self.connectPortAlt.textChanged.connect(lambda: self.setDirty(True)) self.connectUsername.textChanged.connect(lambda: self.setDirty(True)) self.connectPassword.textChanged.connect(lambda: self.setDirty(True)) self.connectPoll.currentIndexChanged.connect(lambda: self.setDirty(True)) self.connectKeepAlive.currentIndexChanged.connect(lambda: self.setDirty(True)) self.connectAlt.toggled.connect(lambda: self.setDirty(True)) self.connectDefault.toggled.connect(lambda: self.setDirty(True))
def is_silent(values, feature, parent): try: return (int(time.time()) - int(feature['updated'])) >= int(Settings.get('updatedTimeout', 15)) except KeyError: return 0
def freshInstall(self): version = Settings.get('version') current = Settings.getMeta('version') return current != version
def setupUi(self): super(tlBrokerConfig, self).setupUi(self) self.connectHelp.clicked.connect(self._help) self.connectTest.clicked.connect(self._test) self.connectName.setValidator( QRegExpValidator(QRegExp("^[a-zA-Z0-9\s]+"), self)) self.connectHost.setValidator( QRegExpValidator(QRegExp("^[a-z0-9\-\.]+"), self)) self.connectHostAlt.setValidator( QRegExpValidator(QRegExp("^[a-z0-9\-\.]+"), self)) self.Tabs.setCurrentIndex(self.kBrokerConfigTabId) # First index # if Modal create mode self.setName(self._broker.name()) self.setHost(self._broker.host()) self.setPort(str(self._broker.port())) self.setHostAlt(self._broker.hostAlt()) self.setPortAlt(str(self._broker.portAlt())) self.setPoll(str(self._broker.poll())) self.setKeepAlive(str(self._broker.keepAlive())) self.setUsername(self._broker.username()) self.setPassword(self._broker.password()) self._connectedTLayers = [] self._featureListItems = {} self._refreshFeature = QTimer() self._refreshFeature.setSingleShot(True) self._refreshFeature.timeout.connect(self._updateFeatureList) self.Tabs.currentChanged.connect(lambda: self._refreshFeature.start(3)) QgsMapLayerRegistry.instance().layersRemoved.connect( self._updateFeatureList) QgsProject.instance().layerLoaded.connect(self._updateFeatureList) self.tableFeatureList.doubleClicked.connect(self._showFeatureDialog) self.tableFeatureList.clicked.connect(self._zoomToFeature) self.connectApply.setEnabled(False) if self._mode == Constants.Create: # Create Layer - so Modal self.connectPoll.setCurrentIndex( self.connectPoll.findText(Settings.get('mqttPoll', 5))) self.connectApply.setText( _translate("tlBrokerConfig", "Create", None)) self.connectApply.clicked.connect(self.accept) self.dockWidget.setFeatures(QtGui.QDockWidget.NoDockWidgetFeatures) self.dockWidget.setWindowTitle( _translate("tlBrokerConfig", "Add Broker", None)) #self.Tabs.setEnabled(False) # self.connectFarmSenseServer.setEnabled(False) elif self._mode == Constants.Update: if self._broker.useAltConnect(): self.connectDefault.setChecked(False) self.connectAlt.setChecked(True) else: self.connectDefault.setChecked(True) self.connectAlt.setChecked(False) self.dockWidget.setFeatures(QtGui.QDockWidget.NoDockWidgetFeatures) self.dockWidget.setWindowTitle( _translate("tlBrokerConfig", "Configure ", None) + self.getName()) self.connectApply.setText( _translate("tlBrokerConfig", "Apply", None)) self.dockWidget.visibilityChanged.connect(self.tearDown) self.connectName.textChanged.connect(lambda: self.setDirty(True)) self.connectHost.textChanged.connect(lambda: self.setDirty(True)) self.connectPort.textChanged.connect(lambda: self.setDirty(True)) self.connectHostAlt.textChanged.connect(lambda: self.setDirty(True)) self.connectPortAlt.textChanged.connect(lambda: self.setDirty(True)) self.connectUsername.textChanged.connect(lambda: self.setDirty(True)) self.connectPassword.textChanged.connect(lambda: self.setDirty(True)) self.connectPoll.currentIndexChanged.connect( lambda: self.setDirty(True)) self.connectKeepAlive.currentIndexChanged.connect( lambda: self.setDirty(True)) self.connectAlt.toggled.connect(lambda: self.setDirty(True)) self.connectDefault.toggled.connect(lambda: self.setDirty(True))