Beispiel #1
0
 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)
Beispiel #2
0
 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)    
Beispiel #3
0
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")
Beispiel #4
0
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")