void ArchiveListWidget::deleteItem() { ArchiveListWidgetItem *archiveItem = qobject_cast<ArchiveListWidgetItem *>(sender()); if(archiveItem) { ArchivePtr archive = archiveItem->archive(); QMessageBox::StandardButton confirm = QMessageBox::question(this, tr("Confirm delete"), tr("Are you sure you want to delete" " archive %1 (this cannot be undone)?") .arg(archive->name())); if(confirm == QMessageBox::Yes) { QList<ArchivePtr> archiveList; archiveList.append(archive); emit deleteArchives(archiveList); } } }
void ArchiveListWidget::insertArchive(ArchivePtr archive, int pos) { if(!archive) { DEBUG << "Null ArchivePtr passed."; return; } ArchiveListWidgetItem *item = new ArchiveListWidgetItem(archive); connect(item, &ArchiveListWidgetItem::requestDelete, this, &ArchiveListWidget::deleteItem); connect(item, &ArchiveListWidgetItem::requestInspect, this, &ArchiveListWidget::inspectItem); connect(item, &ArchiveListWidgetItem::requestRestore, this, &ArchiveListWidget::restoreItem); connect(item, &ArchiveListWidgetItem::requestGoToJob, this, &ArchiveListWidget::goToJob); connect(item, &ArchiveListWidgetItem::removeItem, this, &ArchiveListWidget::removeItem); insertItem(pos, item); setItemWidget(item, item->widget()); item->setHidden(!archive->name().contains(_filter)); emit countChanged(count(), visibleItemsCount()); }