[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/runtime/nepomuk/services/backupsync/gui
From: Vishesh Handa <handa.vish () gmail ! com>
Date: 2010-11-24 14:43:41
Message-ID: 20101124144341.96718AC8A2 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1200283 by vhanda:
Cleanup the FileSystemTree
M +3 -44 filesystemtree.cpp
M +13 -49 filesystemtree.h
M +3 -0 test/filesystemtreetest.cpp
--- trunk/KDE/kdebase/runtime/nepomuk/services/backupsync/gui/filesystemtree.cpp \
#1200282:1200283 @@ -49,7 +49,6 @@
void FileSystemTree::remove(FileSystemTreeItem* item)
{
if( item->parent() == 0 ) {
- kDebug() << "Removing one of the root nodes";
m_rootNodes.removeAll( item );
foreach( FileSystemTreeItem * child, item->m_children )
@@ -59,16 +58,12 @@
delete item;
}
else {
- kDebug() << "Removing .. " << item->url();
- kDebug() << "Other ..";
-
item->m_parent->m_children.removeAll( item );
foreach( FileSystemTreeItem * child, item->m_children )
item->m_parent->add( child );
item->m_children.clear();
- kDebug() << "Deleting item";
delete item;
}
}
@@ -92,7 +87,6 @@
{
QList<QString> list;
foreach( FileSystemTreeItem * item, m_rootNodes ) {
- kDebug() << item->url();
list << item->toList();
}
@@ -146,20 +140,14 @@
FileSystemTreeItem::~FileSystemTreeItem()
{
- kDebug();
foreach( FileSystemTreeItem * t, m_children ) {
- kDebug() << "Deleting child : " << t->url();
delete t;
}
}
bool FileSystemTreeItem::shouldBeParentOf(FileSystemTreeItem* item)
{
- bool r = item->depth() > depth() && item->m_url.contains( m_url );
- //kDebug() << url() << " should be parent of " << item->url() << " ? " << r;
- //kDebug() << url() << " depth : "<< depth();
- //kDebug() << item->url() << " depth : " << item->depth();
- return r;
+ return item->depth() > depth() && item->m_url.contains( m_url );
}
bool FileSystemTreeItem::isFile() const
@@ -202,7 +190,6 @@
void FileSystemTreeItem::insert(QList< FileSystemTreeItem* >& list, \
FileSystemTreeItem* item, FileSystemTreeItem* parent) {
if( list.isEmpty() ) {
- kDebug() << "Empty list - appending";
list.append( item );
item->m_parent = parent;
return;
@@ -211,7 +198,6 @@
// Step 1 : Check for duplicates
foreach( FileSystemTreeItem *p, list ) {
if( withoutTrailingSlashEquality( p->m_url, item->m_url ) ) {
- kDebug() << "Duplicate ..";
return;
}
}
@@ -220,28 +206,21 @@
// If so, call for that FileSystemTreeItem *
foreach( FileSystemTreeItem * p, list ) {
if( p->isFolder() && p->shouldBeParentOf( item ) ) {
- kDebug() << "Calling insert on " << p->url();
insert( p->m_children, item, p );
return;
}
}
// Step 3 : Insert in the correct position
-
- kDebug() << "Inserting " << item->url() << " over here somewhere";
QMutableListIterator<FileSystemTreeItem* > iter( list );
while( iter.hasNext() ) {
FileSystemTreeItem * p = iter.next();
if( withoutTrailingSlashCompare( item->m_url, p->m_url ) ) {
- kDebug() << "Inserting before " << p->url();
iter.previous();
// Insert it and set it's parent
iter.insert( item );
item->m_parent = parent;
- kDebug() << "DONE!!";
- if( parent )
- kDebug() << parent->toList();
break;
}
}
@@ -254,17 +233,13 @@
}
if( item->isFile() ) {
- kDebug() << "Is file .. nothing more to do";
return;
}
// Insert all the files which are in the list and should be under item
- kDebug() << "Checking remaining files/folders..";
while( iter.hasNext() ) {
FileSystemTreeItem * p = iter.next();
- kDebug() << "Testing " << p->url();
- if( /*p->isFile() &&*/ item->shouldBeParentOf( p ) ) {
- kDebug() << p->url() << " is now going to be child of " << item->url();
+ if( item->shouldBeParentOf( p ) ) {
iter.remove();
insert( item->m_children, p, item );
}
@@ -287,7 +262,7 @@
}
-FileSystemTreeItem* FileSystemTreeItem::child(int row)
+FileSystemTreeItem* FileSystemTreeItem::child(int row) const
{
return m_children.at( row );
}
@@ -314,7 +289,6 @@
return m_parent->m_children.indexOf( this );
}
- kDebug() << "RETURNING -1";
return -1;
}
@@ -366,7 +340,6 @@
if( !m_url.isEmpty() )
urls << m_url;
- kDebug() << m_url << " children : ";
foreach( FileSystemTreeItem * item, m_children )
urls << item->toList();
@@ -374,7 +347,6 @@
}
-
bool FileSystemTreeItem::isFolder() const
{
return m_isFolder;
@@ -392,19 +364,6 @@
return m_url.isEmpty() && numChildren() == 0;
}
-QString FileSystemTreeItem::prettyString() const
-{
-// if( !m_parent )
-// return m_url.toLocalFile();
-//
-// QString parentString = m_parent->m_url.toLocalFile();
-// QString ownString = m_url.toLocalFile();
-//
-// ownString.replace( parentString, "" );
-// return ownString;
- return QString();
-}
-
int FileSystemTreeItem::depth()
{
int d = m_url.count('/');
--- trunk/KDE/kdebase/runtime/nepomuk/services/backupsync/gui/filesystemtree.h \
#1200282:1200283 @@ -43,13 +43,9 @@
QList<FileSystemTreeItem*> rootNodes() const;
- /**
- * Returns a list of all the files/folders arranged properly.
- */
QList<QString> toList() const;
bool isEmpty() const;
-
int size() const;
private :
@@ -69,78 +65,46 @@
virtual ~FileSystemTreeItem();
void add( FileSystemTreeItem * item );
- /**
- * Inserts \p child into the children of this, and sets
- * the child's parent to this.
- */
- static void insert(QList<FileSystemTreeItem*>& list, FileSystemTreeItem* item, \
FileSystemTreeItem * parent );
- static FileSystemTreeItem* find( QList<FileSystemTreeItem*>& list, const QString \
& url );
- /**
- * Return the TreeItem which matches the given url
- */
FileSystemTreeItem* find( const QString& url );
+ QList<FileSystemTreeItem*> children() const;
+ FileSystemTreeItem* child(int row) const;
+ int numChildren() const;
+
/**
* Returns the row number of the current TreeItem in it's parents children list.
- * Returns 0 if it doesn't have a parent
+ * Returns -1 if it doesn't have a parent
*/
int parentRowNum();
- /**
- * Returns the number of children.
- */
- int numChildren() const;
-
- /**
- * Returns the child at row number \p row
- */
- FileSystemTreeItem* child(int row);
-
- /**
- * Returns the url
- */
+ FileSystemTreeItem * parent() const;
QString url() const;
- int size() const;
-
-
- FileSystemTreeItem * parent() const;
-
- /**
- * Based on the nieurl it determines the correct position
- * and inserts item.
- * May cause major restructuring of the tree.
- * Should be called from the root node.
- */
- //void add( FileSystemTreeItem * item );
-
QList< QString > toList() const;
- QList<FileSystemTreeItem*> children() const;
+ /// Returns the number of nodes in this tree
+ int size() const;
bool isNull() const;
-
bool isFile() const;
bool isFolder() const;
-
- int depth();
-
- QString prettyString() const;
private :
- // Tree Handling
QList<FileSystemTreeItem *> m_children;
FileSystemTreeItem * m_parent;
bool m_isFolder;
- // Internal data
QString m_url;
friend class FileSystemTree;
-
+ int depth();
bool shouldBeParentOf( FileSystemTreeItem * item );
+
+ static void insert(QList<FileSystemTreeItem*>& list,
+ FileSystemTreeItem* item, FileSystemTreeItem * parent );
+ static FileSystemTreeItem* find( QList<FileSystemTreeItem*>& list, const QString \
& url ); };
--- trunk/KDE/kdebase/runtime/nepomuk/services/backupsync/gui/test/filesystemtreetest.cpp \
#1200282:1200283 @@ -100,6 +100,9 @@
tree.remove( "/a" );
QVERIFY( size == tree.size() + 1 );
QVERIFY( tree.toList() == QList<QString>() << "/a/b/c" << "/a/b/d" << "/a/ba" << \
"/a/bb" << "/b" ); +
+ tree.add( new FileSystemTreeItem("/a/") );
+ QVERIFY( tree.toList() == QList<QString>() << "/a/" << "/a/b/c" << "/a/b/d" << \
"/a/ba" << "/a/bb" << "/b" ); }
void FileSystemTreeTest::checkPointers(const FileSystemTree& tree)
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic