+++ /dev/null
-# Authors: Amaury Medeiros, Nicholas Alexander and Paulo Ouriques
-# Software License: GPL
-from functools import partial
-
-from PyQt4.QtCore import *
-from PyQt4.QtGui import *
-
-from style.styleTabletSuite import *
-from ui.pcsdevicewidget import PcsDeviceWidget
-from ui.pcsuiutils import *
-
-class PcsRestoreDialog(QDialog):
-
- def __init__(self, deviceInfo, categoriesList, parent = None):
- QDialog.__init__(self, parent, Qt.FramelessWindowHint)
- self.setWindowTitle("%s Restore Backup" % APPLICATION_NAME)
- self.setFixedSize(200, 300)
- self.deviceInfo = deviceInfo
- self.categories = categoriesList
- self.validPositions = []
- self.validCategories = []
-
- self.layout = QVBoxLayout()
-
- self.labelLayout = QHBoxLayout()
- spc = QSpacerItem(15, 0)
- self.labelLayout.addItem(spc)
- label = QLabel("Which categories you want to restore?")
- label.setWordWrap(True)
- self.labelLayout.addWidget(label)
- self.labelLayout.setMargin(0)
- self.layout.addLayout(self.labelLayout)
-
-# self.grid = QGridLayout()
-# self.create_dialog()
-# self.grid.setMargin(0)
-# self.layout.addLayout(self.grid)
- self.create_checkbox_frame()
-
- self.buttonLayout = QHBoxLayout()
- self.create_buttons()
- self.buttonLayout.setMargin(0)
- self.layout.addLayout(self.buttonLayout)
-
- self.setLayout(self.layout)
- self.map_checked = {self.documents.name: False,
- self.emails.name: False, self.media.name: False,
- self.contacts.name: False,
- self.bookmarks.name: False,
- self.settings.name: False,
- self.applications.name: False}
-
- def empty_map(self):
- for index in self.map_checked.keys():
- if self.map_checked[index]:
- return False
- return True
-
- def create_buttons(self):
- self.buttonOk = QPushButton("Ok")
- self.buttonOk.setStyleSheet(DEFAULT_BUTTON_STYLE)
- self.buttonLayout.addWidget(self.buttonOk)
-
- self.buttonCancel = QPushButton("Cancel")
- self.buttonCancel.setStyleSheet(DEFAULT_BUTTON_STYLE)
- self.buttonLayout.addWidget(self.buttonCancel)
-
- def create_checkbox_frame(self):
- layout = QVBoxLayout()
- l = QLabel()
- l.setPixmap(QPixmap(COPY_BORDER))
-
- self.frame = QScrollArea(self)
- self.frame.setObjectName("restoreScroll")
- self.frame.setWidgetResizable(True)
- widget = QWidget(self.frame)
- widget.setStyleSheet("QWidget{background: transparent;}")
- self.grid = QGridLayout()
- self.grid.setSpacing(0)
- self.create_dialog()
- widget.setLayout(self.grid)
- self.frame.setWidget(widget)
- layout.addWidget(self.frame)
- self.layout.addLayout(layout)
-
- def create_dialog(self):
- #Add Checkboxes
-# self.add_select_all()
- self.add_documents()
- self.add_emails()
- self.add_media()
- self.add_contacts()
- self.add_bookmarks()
- self.add_settings()
- self.add_applications()
-
-# def add_select_all(self):
-# self.select_all = QCheckBox("Select All")
-# self.connect(self.select_all, SIGNAL("stateChanged(int)"),
-# self.select_all_func)
-# self.validPositions.append((1,0))
-# self.grid.addWidget(self.select_all, 1, 0, Qt.AlignTop)
-#
- def add_documents(self):
- self.documents = QCheckBox("Documents")
- self.documents.name = "documents"
- callback = partial(self.select_func, self.documents)
- self.connect(self.documents, SIGNAL("stateChanged(int)"),
- callback)
- if "documents" in self.categories:
- self.validPositions.append((2, 0))
- self.grid.addWidget(self.documents, 2, 0, Qt.AlignTop)
-
- def add_emails(self):
- self.emails = QCheckBox("Emails")
- self.emails.name = "emails"
- callback = partial(self.select_func, self.emails)
- self.connect(self.emails, SIGNAL("stateChanged(int)"),
- callback)
- if "emails" in self.categories:
- self.validPositions.append((3, 0))
- self.grid.addWidget(self.emails, 3, 0, Qt.AlignTop)
-
- def add_media(self):
- self.media = QCheckBox("Media")
- self.media.name = "media"
- callback = partial(self.select_func, self.media)
- self.connect(self.media, SIGNAL("stateChanged(int)"),
- callback)
- if "media" in self.categories:
- self.validPositions.append((4, 0))
- self.grid.addWidget(self.media, 4, 0, Qt.AlignTop)
-
- def add_contacts(self):
- self.contacts = QCheckBox("Contacts")
- self.contacts.name = "contacts"
- callback = partial(self.select_func, self.contacts)
- self.connect(self.contacts, SIGNAL("stateChanged(int)"),
- callback)
- if "contacts" in self.categories:
- self.validPositions.append((5, 0))
- self.grid.addWidget(self.contacts, 5, 0, Qt.AlignTop)
-
- def add_bookmarks(self):
- self.bookmarks = QCheckBox("Bookmarks")
- self.bookmarks.name = "bookmarks"
- callback = partial(self.select_func, self.bookmarks)
- self.connect(self.bookmarks, SIGNAL("stateChanged(int)"),
- callback)
- if "bookmarks" in self.categories:
- self.validPositions.append((6, 0))
- self.grid.addWidget(self.bookmarks, 6, 0, Qt.AlignTop)
-
- def add_settings(self):
- self.settings = QCheckBox("Settings")
- self.settings.name = "settings"
- callback = partial(self.select_func, self.settings)
- self.connect(self.settings, SIGNAL("stateChanged(int)"),
- callback)
- if "settings" in self.categories:
- self.validPositions.append((7, 0))
- self.grid.addWidget(self.settings, 7, 0, Qt.AlignTop)
-
- def add_applications(self):
- self.applications = QCheckBox("Applications")
- self.applications.name = "applications"
- callback = partial(self.select_func, self.applications)
- self.connect(self.applications, SIGNAL("stateChanged(int)"),
- callback)
- if "applications" in self.categories:
- self.validPositions.append((8, 0))
- self.grid.addWidget(self.applications, 8, 0, Qt.AlignTop)
-
-# def select_all_func(self):
-# checked = self.select_all.isChecked()
-# list = self.map_checked.keys()
-# for element in list:
-# self.map_checked[element] = checked
-# for tuple in self.validPositions:
-# self.grid.itemAtPosition(tuple[0], tuple[1]).widget().setChecked(checked)
-#
- def select_func(self, checkbox):
- checked = checkbox.isChecked()
- self.map_checked[checkbox.name] = checked
- if not checked:
- list = []
- for tuple in self.validPositions:
- item = self.grid.itemAtPosition(tuple[0], tuple[1]).widget()
-# if item == self.select_all:
-# pass
- if item.isChecked():
- list.append(item)
-# self.select_all.setChecked(False)
- for element in list:
- element.setChecked(True)
-
- def getCategories(self):
- return self.map_checked
-