# Authors: Amaury Medeiros and Paulo Ouriques # Software License: GPL from PyQt4.QtCore import * from PyQt4.QtGui import * from ui.pcsapp import PcsApp from ui.pcsdevicewidget import PcsDeviceWidget from ui.pcsuiutils import * from ui.pcsbutton import * from ui.tsuigeneralmethods import * from ui.pcscustombuttons import PcsCustomButton as customButton from pcswindowmanager import * class PcsBackup(PcsApp): def __init__(self, deviceInfo, parent=None): PcsApp.__init__(self, parent) self.deviceInfo = deviceInfo if (self.deviceInfo != None): self.windowManager = PcsWindowManager(self.deviceInfo, self) self.setWindowIcon(QIcon(BACKUP_IMAGE)) self.setWindowTitle("%s Backup" % APPLICATION_NAME) self.hLayout = QHBoxLayout() self.hLayout.setMargin(8) self.vLayout = QVBoxLayout() spc = QSpacerItem(0,50) self.optionsLayout = QVBoxLayout() self.optionsLayout.addItem(spc) self._addButtons() self.optionsLayout.addItem(spc) self.deviceWidget = PcsDeviceWidget(1) self.deviceWidget.addBorder() self.deviceWidget.addDeviceName() self.deviceWidget.setDeviceInfo(self.deviceInfo) self.optionsBorderLayout = QGridLayout() self.optionsBorderLabel = QLabel() self.optionsBorderLabel.setFixedSize(208, 205) self.optionsBorderLabel.setPixmap(QPixmap(DEVICE_BACKUP_BORDER)) self.optionsBorderLayout.addWidget(self.optionsBorderLabel, 0, 0, Qt.AlignCenter) self.optionsBorderLayout.addLayout(self.optionsLayout, 0, 0, Qt.AlignCenter) self.hLayout.addLayout(self.optionsBorderLayout) self.hLayout.addWidget(self.deviceWidget) #FIXE ME l1 = QLabel("Main") self.vLayout.addItem(TOP_SPACER) self.vLayout.addWidget(l1) self.vLayout.addLayout(self.hLayout) informationLayout = QHBoxLayout() spc = QSpacerItem(10, 0) iconAlert = QLabel() iconAlert.setPixmap(QPixmap(ICON_ALERT)) information = QLabel(""\ "Select an action.") informationLayout.addItem(spc) informationLayout.addWidget(iconAlert) informationLayout.addWidget(information, Qt.AlignLeft) self.vLayout.addLayout(informationLayout) self.vLayout.setMargin(8) self.setLayout(self.vLayout) def openBackupWizard(self): if(self.deviceInfo and self.deviceInfo.ip != None): backup_wizard = self.windowManager.getNewBackup() centralize(backup_wizard) backup_wizard.setGeometry(self.geometry()) backup_wizard.exec_() self.setVisible(False) self.setGeometry(backup_wizard.geometry()) else: showMessageBox("No devices were found.", "") def openBackupManagerDialog(self): if(self.deviceInfo and self.deviceInfo.ip != None): backupManager = self.windowManager.getBackupManager() centralize(backupManager) backupManager.show() self.setVisible(False) else: showMessageBox("No devices were found.", "") def openRestoreBackupDialog(self): if(self.deviceInfo and self.deviceInfo.ip != None): restoreBackup = self.windowManager.getRestoreBackup() centralize(restoreBackup) restoreBackup.show() self.setVisible(False) else: showMessageBox("No devices were found.", "") def _addButtons(self): infList = [("New Backup ", ICON_NEW_BACKUP), ("Manage Backups", ICON_MANAGER_BACKUP), ("Restore Backups ", ICON_RESTORE_BACKUP)] buttonsList = [] for inf in infList: buttonOptions = PcsButton(inf[0]) buttonOptions.setStyleSheet("background-image\ :url("+ BUTTON_WITH_ICON_BG +");\ qproperty-icon:url("+inf[1]+");\ min-height:50px; min-width:188px;\ max-height:50px; max-width:188px;\ qproperty-iconSize: 43px 36px") self.optionsLayout.addWidget(buttonOptions) buttonsList.append(buttonOptions) self.connect(buttonsList[0], SIGNAL("clicked()"), self.openBackupWizard) self.connect(buttonsList[1], SIGNAL("clicked()"), self.openBackupManagerDialog) self.connect(buttonsList[2], SIGNAL("clicked()"), self.openRestoreBackupDialog)