def __init__(self, parent=None): QtGui.QMainWindow.__init__(self, parent) self.ui = Ui_VncInterface() self.ui.setupUi(self) # self.show() self.ui.scrollArea.setFocusPolicy(QtCore.Qt.ClickFocus) self.vncScreen = pyvncScreen() self.ui.scrollArea.setWidget(self.vncScreen) self.setFocusProxy(self.vncScreen) QtCore.QObject.connect(self.ui.actionConnectScreen, QtCore.SIGNAL("toggled (bool)"), self.connectScreen) self.screenParameters = None self.menuRemoteScreen = self.ui.menuRemoteScreen self.menuBar = self.ui.menuBar self.toolBar = self.ui.toolBar
class pyvncInterface(QtGui.QMainWindow): def __init__(self, parent=None): QtGui.QMainWindow.__init__(self, parent) self.ui = Ui_VncInterface() self.ui.setupUi(self) # self.show() self.ui.scrollArea.setFocusPolicy(QtCore.Qt.ClickFocus) self.vncScreen = pyvncScreen() self.ui.scrollArea.setWidget(self.vncScreen) self.setFocusProxy(self.vncScreen) QtCore.QObject.connect(self.ui.actionConnectScreen, QtCore.SIGNAL("toggled (bool)"), self.connectScreen) self.screenParameters = None self.menuRemoteScreen = self.ui.menuRemoteScreen self.menuBar = self.ui.menuBar self.toolBar = self.ui.toolBar def setScreenParameters(self, parameters=None): """Method "setScreenParameters" that set the vnc-session connection parameters which are received from a protocol command and launched from a button interaction. """ if parameters: self.screenParameters = parameters else: hostDisplay, ok = QtGui.QInputDialog.getText(self, self.tr("Parameters Screen"), self.tr("Host:Display")) hostDisplayList = hostDisplay.split(":") if ok and hostDisplayList.count() == 2: host = hostDisplayList[0] display = hostDisplayList[1] displayNum, ok = display.toInt() if ok: passwd, ok = QtGui.QInputDialog.getText(self, self.tr("Parameters Screen"), self.tr("Password"), QtGui.QLineEdit.Password) if ok: self.screenParameters = host, displayNum, passwd def launch(self): self.vncScreen.disconnect() print "lauch screen" self.ui.actionConnectScreen.setChecked(True) def stop(self): self.ui.actionConnectScreen.setChecked(False) def connectScreen(self, abilitated): print abilitated if abilitated: if not self.screenParameters: self.setScreenParameters() if self.screenParameters: host, display, passwd = self.screenParameters connected = self.vncScreen.connect(host, display, passwd) if connected: self.emit(QtCore.SIGNAL("remoteScreenRegistrated(bool)"), True) else: self.emit(QtCore.SIGNAL("remoteScreenRegistrated(bool)"), False) self.ui.actionConnectScreen.setChecked(False) else: self.ui.actionConnectScreen.setChecked(False) else: self.vncScreen.disconnect() self.screenParameters = False def closeEvent(self, closeEvent): self.vncScreen.close()