void KStandardItemListWidget::hideEvent(QHideEvent* event) { disconnect(KFileItemClipboard::instance(), SIGNAL(cutItemsChanged()), this, SLOT(slotCutItemsChanged())); KItemListWidget::hideEvent(event); }
void KFileItemClipboard::updateCutItems() { const QMimeData* mimeData = QApplication::clipboard()->mimeData(); // mimeData can be 0 according to https://bugs.kde.org/show_bug.cgi?id=335053 if (!mimeData) { m_cutItems.clear(); emit cutItemsChanged(); return; } const QByteArray data = mimeData->data("application/x-kde-cutselection"); const bool isCutSelection = (!data.isEmpty() && data.at(0) == QLatin1Char('1')); if (isCutSelection) { m_cutItems = KUrl::List::fromMimeData(mimeData).toSet(); } else { m_cutItems.clear(); } emit cutItemsChanged(); }
void KStandardItemListWidget::showEvent(QShowEvent* event) { KItemListWidget::showEvent(event); // Listen to changes of the clipboard to mark the item as cut/uncut KFileItemClipboard* clipboard = KFileItemClipboard::instance(); const KUrl itemUrl = data().value("url").value<KUrl>(); m_isCut = clipboard->isCut(itemUrl); connect(clipboard, SIGNAL(cutItemsChanged()), this, SLOT(slotCutItemsChanged())); }