Remove .svn/ (hidden folder)
[tablet-suite] / src / ui / .svn / text-base / pcsdeviceviewer.py.svn-base
diff --git a/src/ui/.svn/text-base/pcsdeviceviewer.py.svn-base b/src/ui/.svn/text-base/pcsdeviceviewer.py.svn-base
deleted file mode 100644 (file)
index 17495a0..0000000
+++ /dev/null
@@ -1,292 +0,0 @@
-# Authors: Amaury Medeiros and Paulo Ouriques
-# Software License: GPL
-
-from PyQt4.QtCore import *
-from PyQt4.QtGui import *
-
-from functools import partial
-from time import sleep
-
-from pcsdeviceinfoviewer import PcsDeviceInfoViewer
-from pcsdevicewidget import PcsDeviceWidget
-from pcsuiutils import *
-from tsuigeneralmethods import *
-from pcsutils import *
-
-from style.styleTabletSuite import *
-from backup.pcswindowmanager import *
-
-class PcsDeviceViewer(QFrame):
-
-    '''Class that displays the devices which are connected to the PC'''
-
-    _ip = "None"
-    CONNECTION_ERROR_MESSAGE = "Could not connect to device with the given IP " + \
-                    "address.\nCheck if device is turned on and is properly " + \
-                    "connected to network"
-    
-    def __init__(self, deviceManager, pcSuite):
-        super(PcsDeviceViewer, self).__init__()
-        self.deviceManager = deviceManager
-        self.deviceManager.loadDevices()
-#        self.pcSuite = pcSuite
-        self.setFixedSize(WINDOW_WIDTH, 150)
-        self.deviceWidget = PcsDeviceWidget(0)
-
-        # Create device connection type
-        self.deviceInfoViewer = PcsDeviceInfoViewer(pcSuite)
-
-        self.mainLayout = QHBoxLayout()
-        self.mainLayout.setMargin(0)
-
-        spacer = QSpacerItem(15, 15)
-        self.mainLayout.addItem(spacer)
-        self.mainLayout.addWidget(self.deviceWidget)
-        self.mainLayout.addItem(QSpacerItem(20,20))
-        self.mainLayout.addLayout(self.deviceInfoViewer)
-        self.mainLayout.addItem(spacer)
-        self.setLayout(self.mainLayout)
-        
-        self.connectDialog = None
-        
-    def checkIp(self, ip):
-        list = ip.split(".")
-        if len(list) != 4:
-            return False
-        for sublist in list:
-            if len(sublist) < 1 or len(sublist) > 3:
-                return False
-            for element in sublist:
-                if not str(element).isdigit():
-                    return False
-        return True  
-    
-    def showConnectDialog(self):
-        if(self.connectDialog == None):
-            self.connectDialog = QDialog(self, Qt.FramelessWindowHint)
-            self.connectDialog.setObjectName("connectDialog")
-            self.connectDialog.setWindowIcon(QIcon(TABLET_SUITE_LOGO))
-            self.connectDialog.setWindowTitle("Device Selection")
-            connectDialogLayout = QVBoxLayout()
-            
-            hLayout = QHBoxLayout()
-            addButton = QPushButton("Add")
-            addButton.setObjectName("smallButton")
-            self.connect(addButton, SIGNAL("clicked()"), self.addIp)
-            
-            self.ipField = QLineEdit()
-            self.ipField.setText("IP Number")
-            self.ipField.setObjectName("ipField")
-            hLayout.addWidget(self.ipField)
-            hLayout.addWidget(addButton)
-            
-            buttonLayout = QHBoxLayout()
-            self.connectButton = QPushButton("Connect")
-            self.connectButton.setObjectName("tsButton")
-            self.connect(self.connectButton, SIGNAL("clicked()"), self._connect)
-            
-            self.deleteButton = QPushButton("Delete")
-            self.deleteButton.setObjectName("tsButton")
-            self.connect(self.deleteButton, SIGNAL("clicked()"), self._deleteSelectedIp)
-            
-            cancelButton = QPushButton("Cancel")
-            cancelButton.setObjectName("tsButton")
-            setVisible = partial(self.connectDialog.setVisible, False)
-            self.connect(cancelButton, SIGNAL("clicked()"), setVisible)
-            
-            buttonLayout.addWidget(self.connectButton)
-            buttonLayout.addWidget(self.deleteButton)
-            buttonLayout.addWidget(cancelButton)
-            
-            vLayout = QVBoxLayout()
-            vLayout.setMargin(15)
-            vLayout.addWidget(QLabel("Select the device IP"))
-            vLayout.addLayout(hLayout)
-            vLayout.addWidget(self._createIpList())
-            connectDialogLayout.addLayout(vLayout)
-            connectDialogLayout.addLayout(buttonLayout)
-            self.connectDialog.setLayout(connectDialogLayout)
-            self._updateIpList()
-            self.connectDialog.exec_()
-            
-        else:
-            self._updateIpList()
-            self.connectDialog.setVisible(True)
-    
-    def _connect(self):
-        self._ip = self.getSelectedIp()
-        if not create_route(self._ip):
-            showMessageBox(self.CONNECTION_ERROR_MESSAGE,
-                              "Error while connecting to device")
-            return False
-        if not verify_exist_keys(self._ip):
-            dialog = QMessageBox()
-            dialog.setText( "Wrong Key, It seems that the device key " + \
-                            "changed. Do you want to exchange keys again?")
-            dialog.setStandardButtons(QMessageBox.Yes | QMessageBox.No)
-            dialog.setWindowFlags(Qt.FramelessWindowHint)
-            dialog.setStyleSheet(MESSAGE_BOX_DEFAULT)
-            ret = dialog.exec_()
-            if ret == QMessageBox.Yes:
-                if not self.showPasswdDialog():
-                    return False
-            else:
-                return False
-        self._runAddDevice()
-
-    def _createIpList(self):
-        self.ipList = QTableView(self)
-        self.ipList.setObjectName("ipList")
-        self.ipList.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
-        self.ipList.setAlternatingRowColors(True)
-        self.ipList.setShowGrid(False)
-        self.ipList.setEditTriggers(QAbstractItemView.NoEditTriggers)
-        self.model = QStandardItemModel()
-        self.ipList.setModel(self.model)
-        self._updateButtonsState()
-        self.connect(self.ipList.selectionModel(), 
-                     SIGNAL("selectionChanged(QItemSelection, QItemSelection)"),
-                     self._updateButtonsState)
-        
-        hHeader = QHeaderView(Qt.Horizontal)
-        hHeader.setVisible(False)
-        hHeader.setResizeMode(QHeaderView.ResizeToContents)
-        hHeader.setMinimumSectionSize(225)
-        self.ipList.setHorizontalHeader(hHeader)  
-        
-        vHeader = QHeaderView(Qt.Vertical)
-        vHeader.setVisible(False)
-        self.ipList.setVerticalHeader(vHeader)
-        
-        return self.ipList 
-    
-    def _deleteSelectedIp(self):
-        dialog = QMessageBox()
-        dialog.setText("Remove selected ip?")
-        dialog.setStandardButtons(QMessageBox.Yes | QMessageBox.No)
-        dialog.setWindowFlags(Qt.FramelessWindowHint)
-        dialog.setStyleSheet(MESSAGE_BOX_APP)
-        ret = dialog.exec_()
-        if ret == QMessageBox.Yes:
-            selectionModel = self.ipList.selectionModel()
-            indexList = selectionModel.selectedRows()
-            for index in indexList:
-                if index.isValid():
-                    try:
-                        ipAdress = self.model.itemData(index)[0].toString()
-                        self.deviceManager.removeDevice(ipAdress)
-                    except:
-                        pass
-                    finally:
-                        self.model.removeRow(index.row())
-        
-    def getSelectedIp(self):
-        selectionModel = self.ipList.selectionModel()
-        indexList = selectionModel.selectedRows()
-        
-        for index in indexList:
-            if index.isValid():
-                data = self.model.itemData(index)
-                return data[0].toString()
-    
-    def showInvalidIpDialog(self):
-        showMessageBox("Invalid ip adress", "Invalid ip")
-    
-    def addIp(self):
-        ip = self.ipField.text()
-             
-        if self.checkIp(ip):
-            for i in range(self.model.rowCount()):
-                if(self.model.item(i).text() == ip):
-                    self.ipField.setText("IP Number")
-                    return
-            item = QStandardItem(ip)
-            self.model.appendRow([item])
-            self.ipField.setText("IP Number")
-        else:
-            self.showInvalidIpDialog()
-
-    def showPasswdDialog(self):        
-        (passwd, ok) = QInputDialog.getText(self, "Device Selection",
-                                             "Root Password:",
-                                              QLineEdit.Password,
-                                              QString(), 
-                                              Qt.FramelessWindowHint)
-        if ok and not passwd.isEmpty():
-            self._passwd = passwd
-            if not keyExchange(self._ip, self._passwd):
-                errorMessage = "Could not connect to device with the given IP " + \
-                    "Could not exchange keys"
-                showMessageBox(errorMessage, "Error while connecting to device")
-                return False
-            return True
-    
-    def _updateButtonsState(self):
-        selectionModel = self.ipList.selectionModel()
-        indexList = selectionModel.selectedRows()
-        if len(indexList) > 1 or len(indexList) <= 0:
-            self.connectButton.setDisabled(True)
-            self.deleteButton.setDisabled(True)
-        else:
-            self.connectButton.setEnabled(True)
-            self.deleteButton.setEnabled(True)
-    
-    def _createWindowManager(self, deviceInf):
-         if deviceInf != None:
-                PcsWindowManager(deviceInf, self)
-    
-    def _runAddDevice(self):
-        self.connectingThread = connectingThread(self.deviceManager, self._ip)
-        self.connect(self.connectingThread, SIGNAL("connectException"), self._connectException)
-        self.connect(self.connectingThread, SIGNAL("createWindowManager"), self._createWindowManager)
-        self.connectingThread.start()
-        
-        self.connectionProgress()
-        self.connect(self.connectingThread, SIGNAL("connectionDone"), self.updateDeviceInformation)
-                
-    def updateDeviceInformation(self, deviceInfo):
-        self._progressDialog.cancel()
-        self.deviceInfo = deviceInfo
-        self.deviceManager.setCurrentDevice(self._ip)
-        if self.deviceInfo:
-            self.deviceManager.loadDevices()
-            self.deviceWidget.setDeviceInfo(self.deviceInfo)
-            self.deviceInfoViewer.setDeviceInfo(self.deviceInfo)
-        else:
-            showMessageBox("An error occurred while connect.", "Connection error")
-    
-    def _updateIpList(self):
-        self.model.clear()
-        devices = self.deviceManager.getDevices()
-        for device in devices:
-            self.model.appendRow(QStandardItem(str(device)))
-    
-    def connectionProgress(self):
-        self.connectDialog.setVisible(False)
-        self._progressDialog = QProgressDialog("Connecting...", 
-                                               QString(), 0, -1, self,
-                                               Qt.FramelessWindowHint)
-        self._progressDialog.setObjectName("progressDialog")
-        self._progressDialog.setWindowIcon(QIcon(BACKUP_IMAGE))
-        self._progressDialog.setValue(0)
-        self._progressDialog.show()
-        
-    def _connectException(self):
-        showMessageBox("", "Error while connect to device")
-
-
-class connectingThread(QThread):
-    def __init__(self, deviceManager, deviceIp):
-        QThread.__init__(self)
-        self.deviceManager = deviceManager
-        self.deviceIp = deviceIp
-    
-    def run(self):
-        try:
-            deviceInf = self.deviceManager._addDevice(self.deviceIp)
-            self.emit(SIGNAL("createWindowManager"), deviceInf)
-            self.emit(SIGNAL("connectionDone"), deviceInf)
-        except:
-            self.emit(SIGNAL("connectException"))
-            self.emit(SIGNAL("connectionDone"), None)
\ No newline at end of file