Example #1
0
 def __init__(self, parent = None):
     super(ListTagWidget, self).__init__(parent)
     #Creazione componenti
     addButton = QPushButton("&Aggiungi Tag...")
     self.editButton = QPushButton("&Modifica Tag...")
     self.removeButton = QPushButton("&Rimuovi Tag")
     self.editButton.setEnabled(False)
     self.removeButton.setEnabled(False)
     self.listWidget = CustomList(self)
     #Creazione Layout
     layout = QGridLayout(self)
     layout.addWidget(self.listWidget, 1, 1, 1, 1)
     layout.addWidget(addButton, 2, 1)
     layout.addWidget(self.editButton, 3, 1)
     layout.addWidget(self.removeButton, 4, 1)
     self.setLayout(layout)
     self.setMaximumWidth(200)
     self.adjustSize()
     #Connessioni
     self.connect(addButton, SIGNAL("clicked()"), self.addTag)
     self.connect(self.editButton, SIGNAL("clicked()"), self.editTag)
     self.connect(self.removeButton, SIGNAL("clicked()"), self.delTag)
     self.connect(self.listWidget, SIGNAL("currentRowChanged(int)"), self.enableEditDel)
Example #2
0
class ListTagWidget(QWidget):
        def __init__(self, parent = None):
            super(ListTagWidget, self).__init__(parent)
            #Creazione componenti
            addButton = QPushButton("&Aggiungi Tag...")
            self.editButton = QPushButton("&Modifica Tag...")
            self.removeButton = QPushButton("&Rimuovi Tag")
            self.editButton.setEnabled(False)
            self.removeButton.setEnabled(False)
            self.listWidget = CustomList(self)
            #Creazione Layout
            layout = QGridLayout(self)
            layout.addWidget(self.listWidget, 1, 1, 1, 1)
            layout.addWidget(addButton, 2, 1)
            layout.addWidget(self.editButton, 3, 1)
            layout.addWidget(self.removeButton, 4, 1)
            self.setLayout(layout)
            self.setMaximumWidth(200)
            self.adjustSize()
            #Connessioni
            self.connect(addButton, SIGNAL("clicked()"), self.addTag)
            self.connect(self.editButton, SIGNAL("clicked()"), self.editTag)
            self.connect(self.removeButton, SIGNAL("clicked()"), self.delTag)
            self.connect(self.listWidget, SIGNAL("currentRowChanged(int)"), self.enableEditDel)
        
        def addTag(self):
            dialog = AddTagDlg(self.listWidget, self)
            dialog.show()
            if dialog.exec_():
                self.refreshSizeItems()
                
        def editTag(self):
            dialog = EditTagDlg(self.listWidget, self)
            dialog.show()
            if dialog.exec_():
                pass
                
        def delTag(self):
            item = self.listWidget.itemWidget(self.listWidget.currentItem()).text()
            
            if item:
                msgBox = QMessageBox(self)
                msgBox.setText("Sei sicuro di voler eliminare il tag ""%s""?" % item)
                msgBox.setIcon(QMessageBox.Warning)
                msgBox.setWindowTitle("Rimuovi Tag")
                msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
                result = msgBox.exec_()
                
                if result == QMessageBox.Ok:
                    self.listWidget.takeItem(self.listWidget.currentRow())
                    self.refreshSizeItems()
                
                elif result == QMessageBox.Cancel:
                    return
        
        def enableEditDel(self, index):
            if index != -1:
                self.editButton.setEnabled(True)
                self.removeButton.setEnabled(True)
            else:
                self.editButton.setEnabled(False)
                self.removeButton.setEnabled(False)

        def refreshSizeItems(self):
            size = self.listWidget.size()
            
            for item in [self.listWidget.item(x) for x in range(self.listWidget.count())]:
                item.setSizeHint(QSize(item.sizeHint().width(), size.height()/(self.listWidget.count()) ))