本文整理汇总了C++中KFileItemList类的典型用法代码示例。如果您正苦于以下问题:C++ KFileItemList类的具体用法?C++ KFileItemList怎么用?C++ KFileItemList使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了KFileItemList类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setSelection
void InformationPanel::setSelection(const KFileItemList& selection)
{
if (!isVisible()) {
return;
}
if (selection.isEmpty() && m_selection.isEmpty()) {
// The selection has not really changed, only the current index.
// QItemSelectionModel emits a signal in this case and it is less
// expensive doing the check this way instead of patching
// DolphinView::emitSelectionChanged().
return;
}
m_selection = selection;
m_fileItem = KFileItem();
const int count = selection.count();
if (count == 0) {
if (!isEqualToShownUrl(url())) {
m_shownUrl = url();
showItemInfo();
}
} else {
if ((count == 1) && !selection.first().url().isEmpty()) {
m_urlCandidate = selection.first().url();
}
m_infoTimer->start();
}
}
示例2: url
void UploadDialog::imageSelected(QTreeWidgetItem* item)
{
if( !item || m_transferring )
{
m_imagePreview->clear();
return;
}
ImageListItem* pitem = static_cast<ImageListItem*>( item );
if ( !pitem ) return;
m_imagePreview->clear();
QString IdemIndexed = "file:" + pitem->pathSrc();
KUrl url( IdemIndexed );
if ( !url.isValid() )
return;
#if KDE_IS_VERSION(4,7,0)
KFileItemList items;
items.append(KFileItem(KFileItem::Unknown, KFileItem::Unknown, url, true));
KIO::PreviewJob* m_thumbJob = KIO::filePreview(items, QSize(m_imagePreview->height(), m_imagePreview->height()));
#else
KIO::PreviewJob* m_thumbJob = KIO::filePreview(url, m_imagePreview->height());
#endif
connect(m_thumbJob, SIGNAL(gotPreview(const KFileItem*,QPixmap)),
this, SLOT(gotImagePreview(const KFileItem*,QPixmap)) );
}
示例3: url
void BatchProcessImagesDialog::slotImageSelected(QTreeWidgetItem * item)
{
if (!item || m_listFiles->topLevelItemCount() == 0)
{
m_ui->m_imageLabel->clear();
return;
}
BatchProcessImagesItem *pitem = static_cast<BatchProcessImagesItem*>(item);
m_ui->m_imageLabel->clear();
QString IdemIndexed = "file:" + pitem->pathSrc();
KUrl url(IdemIndexed);
if ( !url.isValid() )
return;
#if KDE_IS_VERSION(4,7,0)
KFileItemList items;
items.append(KFileItem(KFileItem::Unknown, KFileItem::Unknown, url, true));
KIO::PreviewJob* m_thumbJob = KIO::filePreview(items, QSize(m_ui->m_imageLabel->height(), m_ui->m_imageLabel->height()));
#else
KIO::PreviewJob* m_thumbJob = KIO::filePreview(url, m_ui->m_imageLabel->height());
#endif
connect(m_thumbJob, SIGNAL(gotPreview(KFileItem,QPixmap)),
this, SLOT(slotGotPreview(KFileItem,QPixmap)));
}
示例4: delayedPreview
void DirModel::delayedPreview()
{
QHash<QUrl, QPersistentModelIndex>::const_iterator i = m_filesToPreview.constBegin();
KFileItemList list;
while (i != m_filesToPreview.constEnd()) {
QUrl file = i.key();
QPersistentModelIndex index = i.value();
if (!m_previewJobs.contains(file) && file.isValid()) {
list.append(KFileItem(file, QString(), 0));
m_previewJobs.insert(file, QPersistentModelIndex(index));
}
++i;
}
if (list.size() > 0) {
KIO::PreviewJob* job = KIO::filePreview(list, m_screenshotSize);
job->setIgnoreMaximumSize(true);
// qDebug() << "Created job" << job;
connect(job, &KIO::PreviewJob::gotPreview,
this, &DirModel::showPreview);
connect(job, &KIO::PreviewJob::failed,
this, &DirModel::previewFailed);
}
m_filesToPreview.clear();
}
示例5: kdDebug
bool TrashImpl::synchronousDel( const TQString& path, bool setLastErrorCode, bool isDir )
{
const int oldErrorCode = m_lastErrorCode;
const TQString oldErrorMsg = m_lastErrorMessage;
KURL url;
url.setPath( path );
// First ensure that all dirs have u+w permissions,
// otherwise we won't be able to delete files in them (#130780).
if ( isDir ) {
kdDebug() << k_funcinfo << "chmod'ing " << url << endl;
KFileItem fileItem( url, "inode/directory", KFileItem::Unknown );
KFileItemList fileItemList;
fileItemList.append( &fileItem );
TDEIO::ChmodJob* chmodJob = TDEIO::chmod( fileItemList, 0200, 0200, TQString::null, TQString::null, true /*recursive*/, false /*showProgressInfo*/ );
connect( chmodJob, TQT_SIGNAL( result(TDEIO::Job *) ),
this, TQT_SLOT( jobFinished(TDEIO::Job *) ) );
tqApp->eventLoop()->enterLoop();
}
kdDebug() << k_funcinfo << "deleting " << url << endl;
TDEIO::DeleteJob *job = TDEIO::del( url, false, false );
connect( job, TQT_SIGNAL( result(TDEIO::Job *) ),
this, TQT_SLOT( jobFinished(TDEIO::Job *) ) );
tqApp->eventLoop()->enterLoop();
bool ok = m_lastErrorCode == 0;
if ( !setLastErrorCode ) {
m_lastErrorCode = oldErrorCode;
m_lastErrorMessage = oldErrorMsg;
}
return ok;
}
示例6: currentDir
void ThumbView::slImageChanged( KFileItem *kfit )
{
if( ! kfit ) return;
// kdDebug(28000) << "changes to one thumbnail!" << endl;
KURL thumbDir = currentDir();
KURL itemUrl = kfit->url();
/* delete filename */
itemUrl.setFileName( QString());
if( !itemUrl.equals( thumbDir, true ))
{
// kdDebug(28000) << "returning, because directory does not match: " << itemUrl.prettyURL() << endl;
// kdDebug(28000) << "and my URL: " << thumbDir.prettyURL() << endl;
return;
}
if( deleteImage( kfit ))
{
kdDebug(28000) << "was changed, deleted first!" << endl;
}
/* Trigger a new reading */
KFileItemList li;
li.append( kfit );
slNewFileItems( li );
}
示例7: qDebug
void KDirModelV2Private::newItemsFromLister(const KFileItemList& items)
{
qDebug() << "newItemsFromLister delay:" << m_time.elapsed();
m_time.restart();
const int itemCount = items.count();
const int newItemListLength = m_itemList.count() + itemCount;
// We can already determine the number of items in this list. Reserve them manyally.
m_itemList.reserve(newItemListLength);
m_model->beginInsertRows(m_currentIndex, rowCount, itemCount);
QTime time;
time.start();
/*
#pragma omp parallel for schedule(dynamic, 100)
for(int i = 0; i < itemCount; i++) {
ItemData newData;
newData.item = new KFileItem(items.at(i));
// newData.collationSequence = new CNaturalString(newData.item->name().toAscii().constData());
newData.modelIndex = m_model->createIndex(i, 0);
#pragma omp critical
m_itemList.append(newData);
}
#pragma omp parallel for schedule(dynamic, 100)
for(int i = 0; i < itemCount; i++) {
ItemData * newData = &m_itemList[iBase + i];
newData->collationSequence = new CNaturalString(newData->item->name().toAscii().constData());
}
*/
for(int i = 0; i < itemCount; i++) {
ItemData newData;
newData.item = new KFileItem(items.at(i));
newData.collationSequence = new CNaturalString(newData.item->name().toAscii().constData());
newData.modelIndex = m_model->createIndex(i, 0);
m_itemList.append(newData);
}
qDebug() << "Time elapsed:" << time.elapsed() << "ms";
rowCount = m_itemList.count();
// std::sort(m_itemList.begin(), m_itemList.end(), lessThan);
// qSort(m_itemList.begin(), m_itemList.end(), lessThan);
m_model->endInsertRows();
emit m_model->layoutChanged();
// Move the current index to the last inserted item.
ItemData lastItem = m_itemList.last();
m_currentIndex = lastItem.modelIndex;
qDebug() << "KDirModelV2Private::newItemsFromLister rowCount:" << rowCount;
}
示例8: kdDebug
void ThumbView::slCheckForUpdate( KFileItem *kfit )
{
if( ! kfit ) return;
kdDebug(28000) << "Checking for update of thumbview!" << endl;
KURL searchUrl = kfit->url();
bool haveItem = false;
/* iterate over all icon items and compare urls.
* TODO: Check the parent url to avoid iteration over all */
for ( QIconViewItem *item = m_iconView->firstItem(); item && !haveItem;
item = item->nextItem() )
{
if( searchUrl == static_cast<ThumbViewItem*>(item)->itemUrl() )
{
haveItem = true;
}
}
/* if we still do not have the item, it is not in the thumbview. */
if( ! haveItem )
{
KFileItemList kfiList;
kfiList.append( kfit );
slNewFileItems( kfiList );
}
}
示例9: ASSERT
void KrPreviewJob::slotStartJob()
{
ASSERT(_job == 0);
ASSERT(!_scheduled.isEmpty());
_hash.clear();
sort();
int size = _parent->_view->fileIconSize();
KFileItemList list;
for(int i = 0; i < _scheduled.count() && i < MAX_CHUNK_SIZE; i++) {
KFileItem fi(_scheduled[i]->getVfile()->vfile_getUrl(), 0, 0);
list.append(fi);
_hash.insert(fi, _scheduled[i]);
}
QStringList allPlugins = KIO::PreviewJob::availablePlugins();
_job = new KIO::PreviewJob(list, QSize(size, size), &allPlugins);
_job->setOverlayIconAlpha(0);
_job->setOverlayIconSize(0);
_job->setScaleType(KIO::PreviewJob::ScaledAndCached);
connect(_job, SIGNAL(gotPreview(const KFileItem&, const QPixmap&)), SLOT(slotGotPreview(const KFileItem&, const QPixmap&)));
connect(_job, SIGNAL(failed(const KFileItem&)), SLOT(slotFailed(const KFileItem&)));
connect(_job, SIGNAL(result(KJob*)), SLOT(slotJobResult(KJob*)));
}
示例10: KoDetailsPane
KoRecentDocumentsPane::KoRecentDocumentsPane(QWidget* parent, const KComponentData &_componentData,
const QString& header)
: KoDetailsPane(parent, _componentData, header)
, d(new KoRecentDocumentsPanePrivate)
{
setFocusProxy(m_documentList);
KGuiItem openGItem(i18n("Open This Document"), "document-open");
m_openButton->setGuiItem(openGItem);
m_alwaysUseCheckBox->hide();
model()->setSortRole(0); // Disable sorting
KConfigGroup config(componentData().config(), "RecentFiles");
int i = 1;
QString path;
KFileItemList fileList;
QStandardItem* rootItem = model()->invisibleRootItem();
do {
path = config.readPathEntry(QString("File%1").arg(i), QString());
if (!path.isEmpty()) {
QString name = config.readPathEntry(QString("Name%1").arg(i), QString());
KUrl url(path);
if (name.isEmpty())
name = url.fileName();
if (!url.isLocalFile() || QFile::exists(url.toLocalFile())) {
KFileItem fileItem(KFileItem::Unknown, KFileItem::Unknown, url);
fileList.prepend(fileItem);
//center all icons in 64x64 area
QImage icon = fileItem.pixmap(64).toImage();
icon = icon.convertToFormat(QImage::Format_ARGB32);
icon = icon.copy((icon.width() - 64) / 2, (icon.height() - 64) / 2, 64, 64);
KoFileListItem* item = new KoFileListItem(QPixmap::fromImage(icon), name);
item->setEditable(false);
item->setData(fileItem.pixmap(128), Qt::UserRole);
item->setFileItem(fileItem);
rootItem->insertRow(0, item);
}
}
i++;
} while (!path.isEmpty() || i <= 10);
//Select the first file
QModelIndex firstIndex = model()->indexFromItem(model()->item(0));
m_documentList->selectionModel()->select(firstIndex, QItemSelectionModel::Select);
m_documentList->selectionModel()->setCurrentIndex(firstIndex, QItemSelectionModel::Select);
d->m_previewJob = KIO::filePreview(fileList, QSize(200, 200), 0);
connect(d->m_previewJob, SIGNAL(result(KJob*)), this, SLOT(previewResult(KJob*)));
connect(d->m_previewJob, SIGNAL(gotPreview(const KFileItem&, const QPixmap&)),
this, SLOT(updatePreview(const KFileItem&, const QPixmap&)));
}
示例11: KoDetailsPane
KoRecentDocumentsPane::KoRecentDocumentsPane(QWidget* parent, const KComponentData &_componentData,
const QString& header)
: KoDetailsPane(parent, _componentData, header)
, d(new KoRecentDocumentsPanePrivate)
{
setFocusProxy(m_documentList);
KGuiItem openGItem(i18n("Open This Document"), koIconName("document-open"));
m_openButton->setGuiItem(openGItem);
m_alwaysUseCheckBox->hide();
model()->setSortRole(0); // Disable sorting
KConfigGroup config(componentData().config(), "RecentFiles");
int i = 1;
QString path;
KFileItemList fileList;
QStandardItem* rootItem = model()->invisibleRootItem();
do {
path = config.readPathEntry(QString("File%1").arg(i), QString());
if (!path.isEmpty()) {
QString name = config.readPathEntry(QString("Name%1").arg(i), QString());
QUrl url(path);
if (name.isEmpty())
name = url.fileName();
if (!url.isLocalFile() || QFile::exists(url.toLocalFile())) {
KFileItem fileItem(KFileItem::Unknown, KFileItem::Unknown, url);
fileList.prepend(fileItem);
const QIcon icon = QIcon::fromTheme(fileItem.iconName());
KoFileListItem* item = new KoFileListItem(icon, name, fileItem);
item->setEditable(false);
rootItem->insertRow(0, item);
}
}
i++;
} while (!path.isEmpty() || i <= 10);
//Select the first file
QModelIndex firstIndex = model()->indexFromItem(model()->item(0));
m_documentList->selectionModel()->select(firstIndex, QItemSelectionModel::Select);
m_documentList->selectionModel()->setCurrentIndex(firstIndex, QItemSelectionModel::Select);
QStringList availablePlugins = KIO::PreviewJob::availablePlugins();
KIO::PreviewJob *previewJob = KIO::filePreview(fileList, QSize(IconExtent, IconExtent), &availablePlugins);
d->m_previewJobs.append(previewJob);
connect(previewJob, SIGNAL(result(KJob*)), SLOT(previewResult(KJob*)));
connect(previewJob, SIGNAL(gotPreview(KFileItem,QPixmap)),
SLOT(updateIcon(KFileItem,QPixmap)));
}
示例12: emitFileSelectedSignal
void FileBrowserWidget::emitFileSelectedSignal()
{
KFileItemList itemList = m_dirOperator->selectedItems();
for(KFileItemList::iterator it = itemList.begin(); it != itemList.end(); ++it) {
emit(fileSelected(*it));
}
m_dirOperator->view()->clearSelection();
}
示例13: slotGenerate
void PreviewTest::slotGenerate()
{
KFileItemList items;
items.append(KFileItem(QUrl::fromUserInput(m_url->text())));
KIO::PreviewJob *job = KIO::filePreview(items, QSize(m_preview->width(), m_preview->height()));
connect(job, SIGNAL(result(KJob*)), SLOT(slotResult(KJob*)));
connect(job, SIGNAL(gotPreview(KFileItem,QPixmap)), SLOT(slotPreview(KFileItem,QPixmap)));
connect(job, SIGNAL(failed(KFileItem)), SLOT(slotFailed()));
}
示例14: fileItemList
// caller needs to delete the returned list!
static KFileItemList * fileItemList( const TDECmdLineArgs *args )
{
KFileItemList * items = new KFileItemList();
items->setAutoDelete( true );
for ( int i = 0; i < args->count(); i++ )
items->append( new KFileItem( KFileItem::Unknown,
KFileItem::Unknown,
args->url( i ) ));
return items;
}
示例15: if
void
SearchPane::searchMatches( const KFileItemList &list )
{
for( KFileItemList::ConstIterator it = list.begin(), end = list.end(); it != end; ++it ) {
if( (*it)->isDir() )
m_dirs += (*it)->url();
else if( m_filter.exactMatch( (*it)->name() ) )
new KURLView::Item( (*it)->url(), static_cast<KURLView*>( m_listView ) );
}
}