void TransfersView::slotItemActivated(const QModelIndex & index) { if (!index.isValid()) return; TransferTreeModel * transferTreeModel = KGet::model(); ModelItem * item = transferTreeModel->itemFromIndex(index); TransfersViewDelegate *view_delegate = static_cast <TransfersViewDelegate *> (itemDelegate()); if(!item) return; if(!item->isGroup() && index.column() == 0) { if(!view_delegate->isExtended(index)) { TransferHandler *handler = item->asTransfer()->transferHandler(); QWidget *widget = getDetailsWidgetForTransfer(handler); m_editingIndexes.append(index); view_delegate->extendItem(widget, index); } else { m_editingIndexes.removeAll(index); view_delegate->contractItem(index); } KGet::actionCollection()->action("transfer_show_details")->setChecked(view_delegate->isExtended(index)); } else if (!item->isGroup() && static_cast<TransferModelItem*>(item)->transferHandler()->status() == Job::Finished) { new KRun(static_cast<TransferModelItem*>(item)->transferHandler()->dest(), this); } }
void TransfersView::slotItemCollapsed(const QModelIndex & index) { if (!index.isValid()) return; TransferTreeModel * transferTreeModel = KGet::model(); ModelItem * item = transferTreeModel->itemFromIndex(index); TransfersViewDelegate *view_delegate = static_cast <TransfersViewDelegate *> (itemDelegate()); if(!item) return; if(item->isGroup()) { TransferGroupHandler * groupHandler = item->asGroup()->groupHandler(); QList<TransferHandler *> transfers = groupHandler->transfers(); foreach(TransferHandler * transfer, transfers) { kDebug(5001) << "Transfer = " << transfer->source().prettyUrl(); view_delegate->contractItem(KGet::model()->itemFromTransferHandler(transfer)->index()); }