void FileBrowser::selectAll() { KFileItemList list( *m_dir->view()->items() ); // Select all items which represent files for( KFileItem* item = list.first(); item; item = list.next() ) m_dir->view()->setSelected( item, item->isFile() ); }
void FileManager::fillContextMenu(KFileItem item, QMenu* menu) { menu->addSeparator(); menu->addAction(newFileAction); if (item.isFile()) { KDevelop::FileContext context(item.url()); QList<KDevelop::ContextMenuExtension> extensions = KDevelop::ICore::self()->pluginController()->queryPluginsForContextMenuExtensions( &context ); KDevelop::ContextMenuExtension::populateMenu(menu, extensions); } }
void StackFolder::dataAdded(const QModelIndex &parent, int start, int end) { for (int i = start; i < end + 1; i++) { const QModelIndex index = m_model->index(i, 0); const KFileItem item = m_model->itemForIndex(index); if (item.isFile()) { const KFileItem parentItem = m_model->itemForIndex(parent); if (m_downloadUrl.isParentOf(parentItem.url())) { startAnimation(); return; } } } }
void DolphinView::updateURL() { KFileView* fileView = (m_iconsView != 0) ? static_cast<KFileView*>(m_iconsView) : static_cast<KFileView*>(m_detailsView); KFileItem* fileItem = fileView->currentFileItem(); if (fileItem == 0) { return; } if (fileItem->isDir()) { // Prefer the local path over the URL. This assures that the // volume space information is correct. Assuming that the URL is media:/sda1, // and the local path is /windows/C: For the URL the space info is related // to the root partition (and hence wrong) and for the local path the space // info is related to the windows partition (-> correct). const QString localPath(fileItem->localPath()); if (localPath.isEmpty()) { setURL(fileItem->url()); } else { setURL(KURL(localPath)); } } else if (fileItem->isFile()) { // allow to browse through ZIP and tar files KMimeType::Ptr mime = fileItem->mimeTypePtr(); if (mime->is("application/x-zip")) { KURL url = fileItem->url(); url.setProtocol("zip"); setURL(url); } else if (mime->is("application/x-tar") || mime->is("application/x-tarz") || mime->is("application/x-tbz") || mime->is("application/x-tgz") || mime->is("application/x-tzo")) { KURL url = fileItem->url(); url.setProtocol("tar"); setURL(url); } else { fileItem->run(); } } else { fileItem->run(); } }
void KFileDetailView::slotAutoOpen() { d->autoOpenTimer.stop(); if( !d->dropItem ) return; KFileItem *fileItem = d->dropItem->fileInfo(); if (!fileItem) return; if( fileItem->isFile() ) return; if ( fileItem->isDir() || fileItem->isLink()) sig->activate( fileItem ); }
void DolphinViewContainer::slotItemTriggered(const KFileItem& item) { KUrl url = item.targetUrl(); if (item.isDir()) { m_view->setUrl(url); return; } const GeneralSettings* settings = DolphinSettings::instance().generalSettings(); const bool browseThroughArchives = settings->browseThroughArchives(); if (browseThroughArchives && item.isFile() && url.isLocalFile()) { // Generic mechanism for redirecting to tar:/<path>/ when clicking on a tar file, // zip:/<path>/ when clicking on a zip file, etc. // The .protocol file specifies the mimetype that the kioslave handles. // Note that we don't use mimetype inheritance since we don't want to // open OpenDocument files as zip folders... const QString protocol = KProtocolManager::protocolForArchiveMimetype(item.mimetype()); if (!protocol.isEmpty()) { url.setProtocol(protocol); m_view->setUrl(url); return; } } if (item.mimetype() == "application/x-desktop") { // redirect to the url in Type=Link desktop files KDesktopFile desktopFile(url.toLocalFile()); if (desktopFile.hasLinkType()) { url = desktopFile.readUrl(); m_view->setUrl(url); return; } } item.run(); }