def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.servers = dict() self.ui = Ui_DriverManager() self.ui.setupUi(self) self.ui.connectedicon = QtGui.QIcon("network-transmit-receive") self.ui.disconnectedicon = QtGui.QIcon("network-offline") self.loadSetup() QtCore.QObject.connect(self.ui.addB, QtCore.SIGNAL("clicked()"), self.addINDIHost) QtCore.QObject.connect(self.ui.modifyB, QtCore.SIGNAL("clicked()"), self.modifyINDIHost) QtCore.QObject.connect(self.ui.removeB, QtCore.SIGNAL("clicked()"), self.removeINDIHost) QtCore.QObject.connect(self.ui.connectHostB, QtCore.SIGNAL("clicked()"), self.activateHostConnection) QtCore.QObject.connect(self.ui.disconnectHostB, QtCore.SIGNAL("clicked()"), self.activateHostDisconnection)
def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.servers=dict() self.ui = Ui_DriverManager() self.ui.setupUi(self) self.ui.connectedicon=QtGui.QIcon("network-transmit-receive") self.ui.disconnectedicon=QtGui.QIcon("network-offline") self.loadSetup() QtCore.QObject.connect(self.ui.addB, QtCore.SIGNAL("clicked()"), self.addINDIHost) QtCore.QObject.connect(self.ui.modifyB, QtCore.SIGNAL("clicked()"), self.modifyINDIHost) QtCore.QObject.connect(self.ui.removeB, QtCore.SIGNAL("clicked()"), self.removeINDIHost) QtCore.QObject.connect(self.ui.connectHostB, QtCore.SIGNAL("clicked()"), self.activateHostConnection) QtCore.QObject.connect(self.ui.disconnectHostB, QtCore.SIGNAL("clicked()"), self.activateHostDisconnection)
class DriverManager(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.servers = dict() self.ui = Ui_DriverManager() self.ui.setupUi(self) self.ui.connectedicon = QtGui.QIcon("network-transmit-receive") self.ui.disconnectedicon = QtGui.QIcon("network-offline") self.loadSetup() QtCore.QObject.connect(self.ui.addB, QtCore.SIGNAL("clicked()"), self.addINDIHost) QtCore.QObject.connect(self.ui.modifyB, QtCore.SIGNAL("clicked()"), self.modifyINDIHost) QtCore.QObject.connect(self.ui.removeB, QtCore.SIGNAL("clicked()"), self.removeINDIHost) QtCore.QObject.connect(self.ui.connectHostB, QtCore.SIGNAL("clicked()"), self.activateHostConnection) QtCore.QObject.connect(self.ui.disconnectHostB, QtCore.SIGNAL("clicked()"), self.activateHostDisconnection) #QtCore.QObject.connect(self.ui.clientTreeWidget, QtCore.SIGNAL("itemClicked(QTreeWidgetItem, int)"), self.connectServer) def loadSetup(self): indihostfile = QtCore.QFile( KStandardDirs.locate("data", "kstars/indihosts.xml")) #print(indihostfile.fileName()) if ((indihostfile.size() == 0) or not (indihostfile.open(QtCore.QIODevice.ReadOnly))): return handler = XmlIndiHostHandler(self) xmlreader = QtXml.QXmlSimpleReader() xmlreader.setContentHandler(handler) xmlreader.setErrorHandler(handler) source = QtXml.QXmlInputSource(indihostfile) ok = xmlreader.parse(source, True) #while (source.data() != ""): #source.reset() #ok=xmlreader.parseContinue() #xmlreader=QtCore.QXmlStreamReader(indihostfile) #ok=True #while not(xmlreader.atEnd()): # xmlreader.readNext() # if xmlreader.isStartElement(): # print("xml token name " + xmlreader.name().toString()) #if xmlreader.hasError(): # ok=False if not (ok): print("Failed to load indihosts setup") def addINDIHost(self): hostConfDialog = QtGui.QDialog() hostconf = Ui_INDIHostConf() hostconf.setupUi(hostConfDialog) hostConfDialog.setWindowTitle("Add Host") if (hostConfDialog.exec_() == QtGui.QDialog.Accepted): (port, portOk) = hostconf.portnumber.text().toInt() if not portOk: qmessage = QtGui.QMessageBox() qmessage.setText(tr("Error: the port number is invalid.")) qmessage.exec_() return if (hostconf.hostname.text(), port) in self.servers: qmessage = QtGui.QMessageBox() qmessage.setText( tr("Host: " + hostconf.hostname.text() + " Port: " + port + " already exists.")) qmessage.exec_() return newserver = Server(hostconf.hostname.text(), port, hostconf.nameIN.text()) newserver.makeConnections() self.servers[(hostconf.hostname.text(), port)] = newserver item = QtGui.QTreeWidgetItem(self.ui.clientTreeWidget) item.setIcon(0, self.ui.disconnectedicon) item.setText(1, hostconf.nameIN.text()) item.setText(2, hostconf.portnumber.text()) def modifyINDIHost(self): print("modify") def removeINDIHost(self): print("remove") def activateHostConnection(self): self.processRemoteTree(True) def activateHostDisconnection(self): self.processRemoteTree(False) def processRemoteTree(self, dstate): currentItem = self.ui.clientTreeWidget.currentItem() if currentItem == None: return server = self.servers[(currentItem.text(1), currentItem.text(2).toInt()[0])] if (server.indiclient == None): server.indiclient = IndiClient(server) if (server.isConnected == dstate): return if (dstate): server.indiclient.connectServer() else: server.indiclient.disconnectServer() def connectServer(self): print("connecting server")
class DriverManager(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.servers=dict() self.ui = Ui_DriverManager() self.ui.setupUi(self) self.ui.connectedicon=QtGui.QIcon("network-transmit-receive") self.ui.disconnectedicon=QtGui.QIcon("network-offline") self.loadSetup() QtCore.QObject.connect(self.ui.addB, QtCore.SIGNAL("clicked()"), self.addINDIHost) QtCore.QObject.connect(self.ui.modifyB, QtCore.SIGNAL("clicked()"), self.modifyINDIHost) QtCore.QObject.connect(self.ui.removeB, QtCore.SIGNAL("clicked()"), self.removeINDIHost) QtCore.QObject.connect(self.ui.connectHostB, QtCore.SIGNAL("clicked()"), self.activateHostConnection) QtCore.QObject.connect(self.ui.disconnectHostB, QtCore.SIGNAL("clicked()"), self.activateHostDisconnection) #QtCore.QObject.connect(self.ui.clientTreeWidget, QtCore.SIGNAL("itemClicked(QTreeWidgetItem, int)"), self.connectServer) def loadSetup(self): indihostfile=QtCore.QFile(KStandardDirs.locate("data", "kstars/indihosts.xml")) #print(indihostfile.fileName()) if ((indihostfile.size() == 0) or not(indihostfile.open(QtCore.QIODevice.ReadOnly))): return handler=XmlIndiHostHandler(self) xmlreader=QtXml.QXmlSimpleReader() xmlreader.setContentHandler(handler) xmlreader.setErrorHandler(handler) source=QtXml.QXmlInputSource(indihostfile) ok=xmlreader.parse(source, True) #while (source.data() != ""): #source.reset() #ok=xmlreader.parseContinue() #xmlreader=QtCore.QXmlStreamReader(indihostfile) #ok=True #while not(xmlreader.atEnd()): # xmlreader.readNext() # if xmlreader.isStartElement(): # print("xml token name " + xmlreader.name().toString()) #if xmlreader.hasError(): # ok=False if not(ok): print("Failed to load indihosts setup") def addINDIHost(self): hostConfDialog = QtGui.QDialog() hostconf = Ui_INDIHostConf() hostconf.setupUi(hostConfDialog) hostConfDialog.setWindowTitle("Add Host") if (hostConfDialog.exec_() == QtGui.QDialog.Accepted): (port, portOk) = hostconf.portnumber.text().toInt() if not portOk: qmessage=QtGui.QMessageBox() qmessage.setText(tr("Error: the port number is invalid.")) qmessage.exec_() return if (hostconf.hostname.text(), port) in self.servers: qmessage=QtGui.QMessageBox() qmessage.setText(tr("Host: " + hostconf.hostname.text() +" Port: " + port + " already exists.")) qmessage.exec_() return newserver = Server(hostconf.hostname.text(), port, hostconf.nameIN.text()) newserver.makeConnections() self.servers[(hostconf.hostname.text(), port)] = newserver item = QtGui.QTreeWidgetItem(self.ui.clientTreeWidget) item.setIcon(0, self.ui.disconnectedicon) item.setText(1, hostconf.nameIN.text()) item.setText(2, hostconf.portnumber.text()) def modifyINDIHost(self): print("modify") def removeINDIHost(self): print("remove") def activateHostConnection(self): self.processRemoteTree(True) def activateHostDisconnection(self): self.processRemoteTree(False) def processRemoteTree(self, dstate): currentItem=self.ui.clientTreeWidget.currentItem() if currentItem == None: return server=self.servers[(currentItem.text(1), currentItem.text(2).toInt()[0])] if (server.indiclient == None): server.indiclient=IndiClient(server) if (server.isConnected == dstate): return if (dstate): server.indiclient.connectServer() else: server.indiclient.disconnectServer() def connectServer(self): print("connecting server")