From kde-commits Tue Aug 24 10:21:53 2004 From: Michael Brade Date: Tue, 24 Aug 2004 10:21:53 +0000 To: kde-commits Subject: kdebase/konqueror/listview Message-Id: <20040824102153.B167516B56 () office ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=109334292522726 CVS commit by brade: Huge optimization: Completely removed the removeSubDir() method, it's superfluous and calling it from the destructor of every item is even ridiculus, in fact. Finally the treeview is back in full quality, if you regularly worked with it you'll notice the speed boost immediately :) I consider the treeview finished now. M +0 -11 konq_treeviewitem.cc 1.20 M +2 -9 konq_treeviewitem.h 1.8 M +10 -13 konq_treeviewwidget.cc 1.58 M +1 -3 konq_treeviewwidget.h 1.21 --- kdebase/konqueror/listview/konq_treeviewitem.cc #1.19:1.20 @@ -23,10 +23,4 @@ -/************************************************************** - * - * KonqListViewDir - * - **************************************************************/ - KonqListViewDir::KonqListViewDir( KonqTreeViewWidget *_parent, KFileItem* _fileitem ) : KonqListViewItem( _parent, _fileitem ) @@ -43,9 +37,4 @@ KonqListViewDir::KonqListViewDir( KonqTr } -KonqListViewDir::~KonqListViewDir() -{ - static_cast(m_pListViewWidget)->removeSubDir( item()->url() ); -} - void KonqListViewDir::setOpen( bool _open ) { --- kdebase/konqueror/listview/konq_treeviewitem.h #1.7:1.8 @@ -38,5 +38,5 @@ public: * @param _fileitem the file item created by KDirLister */ - KonqListViewDir( KonqTreeViewWidget *_parent, KFileItem* _fileitem ); + KonqListViewDir( KonqTreeViewWidget *_parent, KFileItem *_fileitem ); /** @@ -46,7 +46,5 @@ public: * @param _fileitem the file item created by KDirLister */ - KonqListViewDir( KonqTreeViewWidget *_treeview, KonqListViewDir * _parent, KFileItem* _fileitem ); - - virtual ~KonqListViewDir(); + KonqListViewDir( KonqTreeViewWidget *_treeview, KonqListViewDir *_parent, KFileItem *_fileitem ); /** @@ -70,9 +68,4 @@ public: /** - * (inherited from QListViewItem) - * - virtual void setup();*/ - - /** * URL of this directory * @param _trailing set to true for a trailing slash (see KURL) --- kdebase/konqueror/listview/konq_treeviewwidget.cc #1.57:1.58 @@ -96,14 +96,4 @@ void KonqTreeViewWidget::restoreState( Q } - -void KonqTreeViewWidget::removeSubDir( const KURL & _url ) -{ - slotClear( _url ); - - m_dictSubDirs.remove( _url.url(-1) ); - m_urlsToOpen.remove( _url.url(-1) ); - m_urlsToReload.remove( _url.url(-1) ); -} - void KonqTreeViewWidget::slotCompleted() { @@ -179,7 +169,8 @@ void KonqTreeViewWidget::slotClear( cons while ( (child = item->firstChild()) ) delete child; - } + // only if we really deleted something update the statusbar reportItemCounts(); + } } @@ -279,6 +270,12 @@ void KonqTreeViewWidget::slotNewItems( c void KonqTreeViewWidget::slotDeleteItem( KFileItem *_fileItem ) { + QString url = _fileItem->url().url(-1); + // Check if this item is in m_dictSubDirs, and if yes, then remove it - removeSubDir( KURL( _fileItem->url().url(-1) ) ); + slotClear( KURL( url ) ); + + m_dictSubDirs.remove( url ); + m_urlsToOpen.remove( url ); + m_urlsToReload.remove( url ); KonqBaseListViewWidget::slotDeleteItem( _fileItem ); --- kdebase/konqueror/listview/konq_treeviewwidget.h #1.20:1.21 @@ -55,7 +56,4 @@ protected: KonqListViewDir *findDir( const QString &_url ); - // Called by KonqListViewDir - void removeSubDir( const KURL & _url ); - void openSubFolder( KonqListViewDir *_dir, bool _reload ); void stopListingSubFolder( KonqListViewDir *_dir );