• Skip to content
  • Skip to link menu
KDE 4.7 API Reference
  • KDE API Reference
  • kdelibs
  • KDE Home
  • Contact Us
 

KIO

Classes | Public Slots | Public Member Functions
KDirListerCache Class Reference

#include <kdirlister_p.h>

Inheritance diagram for KDirListerCache:
Inheritance graph
[legend]

List of all members.

Classes

class  DirItem

Public Slots

void slotFileRenamed (const QString &srcUrl, const QString &dstUrl)
void slotFilesAdded (const QString &urlDirectory)
void slotFilesChanged (const QStringList &fileList)
void slotFilesRemoved (const QStringList &fileList)

Public Member Functions

 KDirListerCache ()
 ~KDirListerCache ()
void emitItemsFromCache (KDirLister::Private::CachedItemsJob *job, KDirLister *lister, const KUrl &_url, bool _reload, bool _emitCompleted)
KFileItem findByName (const KDirLister *lister, const QString &_name) const
KFileItem * findByUrl (const KDirLister *lister, const KUrl &url) const
void forgetCachedItemsJob (KDirLister::Private::CachedItemsJob *job, KDirLister *lister, const KUrl &url)
void forgetDirs (KDirLister *lister)
void forgetDirs (KDirLister *lister, const KUrl &_url, bool notify)
KFileItem itemForUrl (const KUrl &url) const
KFileItemList * itemsForDir (const KUrl &dir) const
bool listDir (KDirLister *lister, const KUrl &_url, bool _keep, bool _reload)
void setAutoUpdate (KDirLister *lister, bool enable)
void stop (KDirLister *lister, bool silent=false)
void stopListingUrl (KDirLister *lister, const KUrl &_url, bool silent=false)
void updateDirectory (const KUrl &dir)

Detailed Description

Design of the cache: There is a single KDirListerCache for the whole process.

It holds all the items used by the dir listers (itemsInUse) as well as a cache of the recently used items (itemsCached). Those items are grouped by directory (a DirItem represents a whole directory).

KDirListerCache also runs all the jobs for listing directories, whether they are for normal listing or for updates. For faster lookups, it also stores a hash table, which gives for a directory URL:

  • the dirlisters holding that URL (listersCurrentlyHolding)
  • the dirlisters currently listing that URL (listersCurrentlyListing)

Constructor & Destructor Documentation

KDirListerCache::KDirListerCache ( )

Definition at line 49 of file kdirlister.cpp.

KDirListerCache::~KDirListerCache ( )

Definition at line 75 of file kdirlister.cpp.


Member Function Documentation

void KDirListerCache::emitItemsFromCache ( KDirLister::Private::CachedItemsJob *  job,
KDirLister *  lister,
const KUrl &  _url,
bool  _reload,
bool  _emitCompleted 
)

Definition at line 319 of file kdirlister.cpp.

KFileItem KDirListerCache::findByName ( const KDirLister *  lister,
const QString &  _name 
) const

Definition at line 783 of file kdirlister.cpp.

KFileItem * KDirListerCache::findByUrl ( const KDirLister *  lister,
const KUrl &  url 
) const

Definition at line 799 of file kdirlister.cpp.

void KDirListerCache::forgetCachedItemsJob ( KDirLister::Private::CachedItemsJob *  job,
KDirLister *  lister,
const KUrl &  url 
)

Definition at line 361 of file kdirlister.cpp.

void KDirListerCache::forgetDirs ( KDirLister *  lister)

Definition at line 507 of file kdirlister.cpp.

void KDirListerCache::forgetDirs ( KDirLister *  lister,
const KUrl &  _url,
bool  notify 
)

Definition at line 540 of file kdirlister.cpp.

KFileItem KDirListerCache::itemForUrl ( const KUrl &  url) const

Definition at line 758 of file kdirlister.cpp.

KFileItemList * KDirListerCache::itemsForDir ( const KUrl &  dir) const

Definition at line 777 of file kdirlister.cpp.

bool KDirListerCache::listDir ( KDirLister *  lister,
const KUrl &  _url,
bool  _keep,
bool  _reload 
)

Definition at line 91 of file kdirlister.cpp.

void KDirListerCache::setAutoUpdate ( KDirLister *  lister,
bool  enable 
)

Definition at line 492 of file kdirlister.cpp.

void KDirListerCache::slotFileRenamed ( const QString &  srcUrl,
const QString &  dstUrl 
) [slot]

Definition at line 942 of file kdirlister.cpp.

void KDirListerCache::slotFilesAdded ( const QString &  urlDirectory) [slot]

Notify that files have been added in directory The receiver will list that directory again to find the new items (since it needs more than just the names anyway).

Connected to the DBus signal from the KDirNotify interface.

Definition at line 835 of file kdirlister.cpp.

void KDirListerCache::slotFilesChanged ( const QStringList &  fileList) [slot]

Notify that files have been changed.

At the moment, this is only used for new icon, but it could be used for size etc. as well. Connected to the DBus signal from the KDirNotify interface.

Definition at line 908 of file kdirlister.cpp.

void KDirListerCache::slotFilesRemoved ( const QStringList &  fileList) [slot]

Notify that files have been deleted.

This call passes the exact urls of the deleted files so that any view showing them can simply remove them or be closed (if its current dir was deleted) Connected to the DBus signal from the KDirNotify interface.

Definition at line 848 of file kdirlister.cpp.

void KDirListerCache::stop ( KDirLister *  lister,
bool  silent = false 
)

Definition at line 408 of file kdirlister.cpp.

void KDirListerCache::stopListingUrl ( KDirLister *  lister,
const KUrl &  _url,
bool  silent = false 
)

Definition at line 433 of file kdirlister.cpp.

void KDirListerCache::updateDirectory ( const KUrl &  dir)

Definition at line 637 of file kdirlister.cpp.


The documentation for this class was generated from the following files:
  • kdirlister_p.h
  • kdirlister.cpp

KIO

Skip menu "KIO"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.7.5
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal