|
|
|
@ -24,15 +24,15 @@ namespace Filelight
|
|
|
|
|
const KURL url; |
|
|
|
|
/// the directory on which we are operating
|
|
|
|
|
Directory *directory; |
|
|
|
|
/// so we can reference the tqparent store
|
|
|
|
|
Store *tqparent; |
|
|
|
|
/// so we can reference the parent store
|
|
|
|
|
Store *parent; |
|
|
|
|
/// directories in this directory that need to be scanned before we can propagate()
|
|
|
|
|
List stores; |
|
|
|
|
|
|
|
|
|
Store() |
|
|
|
|
: directory( 0 ), tqparent( 0 ) {} |
|
|
|
|
: directory( 0 ), parent( 0 ) {} |
|
|
|
|
Store( const KURL &u, const TQString &name, Store *s ) |
|
|
|
|
: url( u ), directory( new Directory( name.local8Bit() + '/' ) ), tqparent( s ) {} |
|
|
|
|
: url( u ), directory( new Directory( name.local8Bit() + '/' ) ), parent( s ) {} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Store* |
|
|
|
@ -42,13 +42,13 @@ namespace Filelight
|
|
|
|
|
|
|
|
|
|
debug() << "propagate: " << url << endl; |
|
|
|
|
|
|
|
|
|
if( tqparent ) { |
|
|
|
|
tqparent->directory->append( directory ); |
|
|
|
|
if( tqparent->stores.isEmpty() ) { |
|
|
|
|
return tqparent->propagate(); |
|
|
|
|
if( parent ) { |
|
|
|
|
parent->directory->append( directory ); |
|
|
|
|
if( parent->stores.isEmpty() ) { |
|
|
|
|
return parent->propagate(); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
return tqparent; |
|
|
|
|
return parent; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//we reached the root, let's get our next directory scanned
|
|
|
|
@ -61,14 +61,14 @@ namespace Filelight
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RemoteLister::RemoteLister( const KURL &url, TQWidget *tqparent ) |
|
|
|
|
RemoteLister::RemoteLister( const KURL &url, TQWidget *parent ) |
|
|
|
|
: KDirLister( true /*don't fetch mimetypes*/ ) |
|
|
|
|
, m_root( new Store( url, url.url(), 0 ) ) |
|
|
|
|
, m_store( m_root ) |
|
|
|
|
{ |
|
|
|
|
setAutoUpdate( false ); //don't use KDirWatchers
|
|
|
|
|
setShowingDotFiles( true ); //stupid KDirLister API function names
|
|
|
|
|
setMainWindow( tqparent ); |
|
|
|
|
setMainWindow( parent ); |
|
|
|
|
|
|
|
|
|
//use TQT_SIGNAL(result(KIO::Job*)) instead and then use Job::error()
|
|
|
|
|
connect( this, TQT_SIGNAL(completed()), TQT_SLOT(completed()) ); |
|
|
|
@ -84,7 +84,7 @@ namespace Filelight
|
|
|
|
|
|
|
|
|
|
TQCustomEvent *e = new TQCustomEvent( 1000 ); |
|
|
|
|
e->setData( tree ); |
|
|
|
|
TQApplication::postEvent( tqparent(), e ); |
|
|
|
|
TQApplication::postEvent( parent(), e ); |
|
|
|
|
|
|
|
|
|
delete m_root; |
|
|
|
|
} |
|
|
|
@ -126,7 +126,7 @@ namespace Filelight
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if( m_store->stores.isEmpty() ) |
|
|
|
|
//no directories to scan, so we need to append ourselves to the tqparent directory
|
|
|
|
|
//no directories to scan, so we need to append ourselves to the parent directory
|
|
|
|
|
//propagate() will return the next ancestor that has stores left to be scanned, or root if we are done
|
|
|
|
|
m_store = m_store->propagate(); |
|
|
|
|
|
|
|
|
|