|
|
|
@ -93,8 +93,8 @@ namespace KDirStat
|
|
|
|
|
* easily has 150,000+ file system objects, and at least one entry of this
|
|
|
|
|
* sort is required for each of them.
|
|
|
|
|
*
|
|
|
|
|
* This class provides stubs for tqchildren management, yet those stubs all
|
|
|
|
|
* are default implementations that don't really deal with tqchildren.
|
|
|
|
|
* This class provides stubs for children management, yet those stubs all
|
|
|
|
|
* are default implementations that don't really deal with children.
|
|
|
|
|
* Derived classes need to take care of that.
|
|
|
|
|
*
|
|
|
|
|
* @short Basic file information (like obtained by the lstat() sys call)
|
|
|
|
@ -250,39 +250,39 @@ namespace KDirStat
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns the total size in bytes of this subtree.
|
|
|
|
|
* Derived classes that have tqchildren should overwrite this.
|
|
|
|
|
* Derived classes that have children should overwrite this.
|
|
|
|
|
**/
|
|
|
|
|
virtual KFileSize totalSize() { return size(); }
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns the total size in blocks of this subtree.
|
|
|
|
|
* Derived classes that have tqchildren should overwrite this.
|
|
|
|
|
* Derived classes that have children should overwrite this.
|
|
|
|
|
**/
|
|
|
|
|
virtual KFileSize totalBlocks() { return _blocks; }
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns the total number of tqchildren in this subtree, excluding this item.
|
|
|
|
|
* Derived classes that have tqchildren should overwrite this.
|
|
|
|
|
* Returns the total number of children in this subtree, excluding this item.
|
|
|
|
|
* Derived classes that have children should overwrite this.
|
|
|
|
|
**/
|
|
|
|
|
virtual int totalItems() { return 0; }
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns the total number of subdirectories in this subtree,
|
|
|
|
|
* excluding this item. Dot entries and "." or ".." are not counted.
|
|
|
|
|
* Derived classes that have tqchildren should overwrite this.
|
|
|
|
|
* Derived classes that have children should overwrite this.
|
|
|
|
|
**/
|
|
|
|
|
virtual int totalSubDirs() { return 0; }
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns the total number of plain file tqchildren in this subtree,
|
|
|
|
|
* Returns the total number of plain file children in this subtree,
|
|
|
|
|
* excluding this item.
|
|
|
|
|
* Derived classes that have tqchildren should overwrite this.
|
|
|
|
|
* Derived classes that have children should overwrite this.
|
|
|
|
|
**/
|
|
|
|
|
virtual int totalFiles() { return 0; }
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns the latest modification time of this subtree.
|
|
|
|
|
* Derived classes that have tqchildren should overwrite this.
|
|
|
|
|
* Derived classes that have children should overwrite this.
|
|
|
|
|
**/
|
|
|
|
|
virtual time_t latestMtime() { return _mtime; }
|
|
|
|
|
|
|
|
|
@ -322,7 +322,7 @@ namespace KDirStat
|
|
|
|
|
/**
|
|
|
|
|
* Returns the number of pending read jobs in this subtree. When this
|
|
|
|
|
* number reaches zero, the entire subtree is done.
|
|
|
|
|
* Derived classes that have tqchildren should overwrite this.
|
|
|
|
|
* Derived classes that have children should overwrite this.
|
|
|
|
|
**/
|
|
|
|
|
virtual int pendingReadJobs() { return 0; }
|
|
|
|
|
|
|
|
|
@ -377,7 +377,7 @@ namespace KDirStat
|
|
|
|
|
{ NOT_USED( newFirstChild ); }
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns true if this entry has any tqchildren.
|
|
|
|
|
* Returns true if this entry has any children.
|
|
|
|
|
**/
|
|
|
|
|
virtual bool hasChildren() const;
|
|
|
|
|
|
|
|
|
@ -396,7 +396,7 @@ namespace KDirStat
|
|
|
|
|
*
|
|
|
|
|
* Derived classes might or might not wish to overwrite this method;
|
|
|
|
|
* it's only advisable to do so if a derived class comes up with a
|
|
|
|
|
* different method than brute-force search all tqchildren.
|
|
|
|
|
* different method than brute-force search all children.
|
|
|
|
|
*
|
|
|
|
|
* 'findDotEntries' specifies if locating "dot entries" (".../<Files>")
|
|
|
|
|
* is desired.
|
|
|
|
@ -404,9 +404,9 @@ namespace KDirStat
|
|
|
|
|
virtual KFileInfo * locate( TQString url, bool findDotEntries = false );
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Insert a child into the tqchildren list.
|
|
|
|
|
* Insert a child into the children list.
|
|
|
|
|
*
|
|
|
|
|
* The order of tqchildren in this list is absolutely undefined;
|
|
|
|
|
* The order of children in this list is absolutely undefined;
|
|
|
|
|
* don't rely on any implementation-specific order.
|
|
|
|
|
*
|
|
|
|
|
* This default implementation does nothing.
|
|
|
|
@ -416,7 +416,7 @@ namespace KDirStat
|
|
|
|
|
/**
|
|
|
|
|
* Return the "Dot Entry" for this node if there is one (or 0
|
|
|
|
|
* otherwise): This is a pseudo entry that directory nodes use to store
|
|
|
|
|
* non-directory tqchildren separately from directories. This way the end
|
|
|
|
|
* non-directory children separately from directories. This way the end
|
|
|
|
|
* user can easily tell which summary fields belong to the directory
|
|
|
|
|
* itself and which are the accumulated values of the entire subtree.
|
|
|
|
|
*
|
|
|
|
@ -456,7 +456,7 @@ namespace KDirStat
|
|
|
|
|
virtual void childAdded( KFileInfo *newChild ) { NOT_USED( newChild ); }
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Remove a child from the tqchildren list.
|
|
|
|
|
* Remove a child from the children list.
|
|
|
|
|
*
|
|
|
|
|
* IMPORTANT: This MUST be called just prior to deleting an object of
|
|
|
|
|
* this class. Regrettably, this cannot simply be moved to the
|
|
|
|
@ -464,7 +464,7 @@ namespace KDirStat
|
|
|
|
|
* (e.g., the virtual table - no more virtual methods).
|
|
|
|
|
*
|
|
|
|
|
* This default implementation does nothing.
|
|
|
|
|
* Derived classes that can handle tqchildren should overwrite this.
|
|
|
|
|
* Derived classes that can handle children should overwrite this.
|
|
|
|
|
**/
|
|
|
|
|
virtual void unlinkChild( KFileInfo *deletedChild ) { NOT_USED( deletedChild ); }
|
|
|
|
|
|
|
|
|
@ -580,7 +580,7 @@ namespace KDirStat
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* A more specialized version of @ref KFileInfo: This class can actually
|
|
|
|
|
* manage tqchildren. The base class (@ref KFileInfo) has only stubs for the
|
|
|
|
|
* manage children. The base class (@ref KFileInfo) has only stubs for the
|
|
|
|
|
* respective methods to integrate seamlessly with the abstraction of a
|
|
|
|
|
* file / directory tree; this class fills those stubs with life.
|
|
|
|
|
*
|
|
|
|
@ -594,7 +594,7 @@ namespace KDirStat
|
|
|
|
|
*
|
|
|
|
|
* If "asDotEntry" is set, this will be used as the parent's
|
|
|
|
|
* "dot entry", i.e. the pseudo directory that holds all the parent's
|
|
|
|
|
* non-directory tqchildren. This is the only way to create a "dot
|
|
|
|
|
* non-directory children. This is the only way to create a "dot
|
|
|
|
|
* entry"!
|
|
|
|
|
**/
|
|
|
|
|
KDirInfo( KDirTree * tree,
|
|
|
|
@ -637,7 +637,7 @@ namespace KDirStat
|
|
|
|
|
virtual KFileSize totalBlocks();
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns the total number of tqchildren in this subtree, excluding this item.
|
|
|
|
|
* Returns the total number of children in this subtree, excluding this item.
|
|
|
|
|
*
|
|
|
|
|
* Reimplemented - inherited from @ref KFileInfo.
|
|
|
|
|
**/
|
|
|
|
@ -652,7 +652,7 @@ namespace KDirStat
|
|
|
|
|
virtual int totalSubDirs();
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns the total number of plain file tqchildren in this subtree,
|
|
|
|
|
* Returns the total number of plain file children in this subtree,
|
|
|
|
|
* excluding this item.
|
|
|
|
|
*
|
|
|
|
|
* Reimplemented - inherited from @ref KFileInfo.
|
|
|
|
@ -723,9 +723,9 @@ namespace KDirStat
|
|
|
|
|
{ _firstChild = newfirstChild; }
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Insert a child into the tqchildren list.
|
|
|
|
|
* Insert a child into the children list.
|
|
|
|
|
*
|
|
|
|
|
* The order of tqchildren in this list is absolutely undefined;
|
|
|
|
|
* The order of children in this list is absolutely undefined;
|
|
|
|
|
* don't rely on any implementation-specific order.
|
|
|
|
|
**/
|
|
|
|
|
virtual void insertChild( KFileInfo *newChild );
|
|
|
|
@ -733,7 +733,7 @@ namespace KDirStat
|
|
|
|
|
/**
|
|
|
|
|
* Get the "Dot Entry" for this node if there is one (or 0 otherwise):
|
|
|
|
|
* This is a pseudo entry that directory nodes use to store
|
|
|
|
|
* non-directory tqchildren separately from directories. This way the end
|
|
|
|
|
* non-directory children separately from directories. This way the end
|
|
|
|
|
* user can easily tell which summary fields belong to the directory
|
|
|
|
|
* itself and which are the accumulated values of the entire subtree.
|
|
|
|
|
**/
|
|
|
|
@ -760,7 +760,7 @@ namespace KDirStat
|
|
|
|
|
virtual void childAdded( KFileInfo *newChild );
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Remove a child from the tqchildren list.
|
|
|
|
|
* Remove a child from the children list.
|
|
|
|
|
*
|
|
|
|
|
* IMPORTANT: This MUST be called just prior to deleting an object of
|
|
|
|
|
* this class. Regrettably, this cannot simply be moved to the
|
|
|
|
@ -848,8 +848,8 @@ namespace KDirStat
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Clean up unneeded / undesired dot entries:
|
|
|
|
|
* Delete dot entries that don't have any tqchildren,
|
|
|
|
|
* reparent dot entry tqchildren to the "real" (parent) directory if
|
|
|
|
|
* Delete dot entries that don't have any children,
|
|
|
|
|
* reparent dot entry children to the "real" (parent) directory if
|
|
|
|
|
* there are not subdirectory siblings at the level of the dot entry.
|
|
|
|
|
**/
|
|
|
|
|
void cleanupDotEntries();
|
|
|
|
@ -862,7 +862,7 @@ namespace KDirStat
|
|
|
|
|
// Children management
|
|
|
|
|
|
|
|
|
|
KFileInfo * _firstChild; // pointer to the first child
|
|
|
|
|
KFileInfo * _dotEntry; // pseudo entry to hold non-dir tqchildren
|
|
|
|
|
KFileInfo * _dotEntry; // pseudo entry to hold non-dir children
|
|
|
|
|
|
|
|
|
|
// Some cached values
|
|
|
|
|
|
|
|
|
@ -1252,10 +1252,10 @@ namespace KDirStat
|
|
|
|
|
virtual void deletingChildNotify( KFileInfo *deletedChild );
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Notification that one or more tqchildren have been deleted.
|
|
|
|
|
* Notification that one or more children have been deleted.
|
|
|
|
|
*
|
|
|
|
|
* Directory read jobs are required to call this when one or more
|
|
|
|
|
* tqchildren are deleted so the tree can emit the corresponding @ref
|
|
|
|
|
* children are deleted so the tree can emit the corresponding @ref
|
|
|
|
|
* deletingChild() signal. For multiple deletions (e.g. entire
|
|
|
|
|
* subtrees) this should only happen once at the end.
|
|
|
|
|
**/
|
|
|
|
|