From b43a934bb7abd7af1ab279b5bc6193052f597df5 Mon Sep 17 00:00:00 2001 From: Mavridis Philippe Date: Tue, 16 Mar 2021 10:20:22 +0200 Subject: [PATCH] Klamscan, Scheduler: Reset DirectoryList after use Signed-off-by: Mavridis Philippe (cherry picked from commit 69817f0eae3ed0e420a7d0e58c29953dd65dda97) --- src/directorylist.cpp | 13 +++++++++++++ src/directorylist.h | 4 ++++ src/klamscan.cpp | 2 ++ src/schedule.cpp | 1 + 4 files changed, 20 insertions(+) diff --git a/src/directorylist.cpp b/src/directorylist.cpp index aae909d..c401644 100644 --- a/src/directorylist.cpp +++ b/src/directorylist.cpp @@ -98,6 +98,7 @@ Item::Item( TQListView *parent, CollectionSetup *collection, const TQString &nam else setPixmap( 0, SmallIcon( "folder" ) ); setVisible( true ); + connect( collectionSetup, SIGNAL(resetDirs()), this, SLOT(reset()) ); } @@ -115,6 +116,7 @@ Item::Item( TQListViewItem *parent, CollectionSetup *collection, const KURL &url connect( &m_lister, SIGNAL(newItems( const KFileItemList& )), SLOT(newItems( const KFileItemList& )) ); connect( &m_lister, SIGNAL(completed()), SLOT(completed()) ); connect( &m_lister, SIGNAL(canceled()), SLOT(completed()) ); + connect( collectionSetup, SIGNAL(resetDirs()), this, SLOT(reset()) ); } @@ -225,6 +227,8 @@ Item::paintCell( TQPainter * p, const TQColorGroup & cg, int column, int width, setOn(false); } +void Item::reset() { this->setOn(false); } + ////////////////////////////////////////////////////////////////////////////////////////// // CLASS DeviceItem ////////////////////////////////////////////////////////////////////////////////////////// @@ -237,6 +241,7 @@ DeviceItem::DeviceItem( TQListView *parent, CollectionSetup *collection ) collectionSetup = collection; m_lister.setDirOnlyMode( true ); connect( &m_lister, SIGNAL(newItems( const KFileItemList& )), SLOT(newItems( const KFileItemList& )) ); + connect( collectionSetup, SIGNAL(resetDirs()), this, SLOT(reset()) ); if ( KDE::versionMajor() == 3 && KDE::versionMinor() < 4 ) { @@ -299,6 +304,7 @@ DeviceItem::DeviceItem( TQListViewItem *parent, CollectionSetup *collection, con connect( &m_lister, SIGNAL(newItems( const KFileItemList& )), SLOT(newItems( const KFileItemList& )) ); connect( &m_lister, SIGNAL(completed()), SLOT(completed()) ); connect( &m_lister, SIGNAL(canceled()), SLOT(completed()) ); + connect( collectionSetup, SIGNAL(resetDirs()), this, SLOT(reset()) ); } @@ -475,6 +481,8 @@ DeviceItem::mountDevice( const TQString & device) } } +void DeviceItem::reset() { this->setOn(false); } + TQStringList CollectionSetup::pruneSelectedDirs( TQStringList listOfUrls ){ // This gets rid of redundant sub-directories // from the list of dirs to be scanned. @@ -538,4 +546,9 @@ void CollectionSetup::writeConfig( const char* optGroup, const char* optName ) config->sync(); } +void CollectionSetup::reset() +{ + emit resetDirs(); +} + #include "directorylist.moc" diff --git a/src/directorylist.h b/src/directorylist.h index 79f3b9c..aebbeec 100644 --- a/src/directorylist.h +++ b/src/directorylist.h @@ -48,9 +48,11 @@ public: static TQStringList pruneSelectedDirs( TQStringList listOfUrls = 0 ); void writeConfig( const char* optGroup, const char* optName ); + void reset(); signals: void dirsSelected(TQStringList& dirs); + void resetDirs(); public slots: @@ -85,6 +87,7 @@ public: public slots: void newItems( const KFileItemList& ); void completed() { if( childCount() == 0 ) { setExpandable( false ); repaint(); } } + void reset(); private: CollectionSetup *collectionSetup; @@ -113,6 +116,7 @@ class DeviceItem : public TQObject, public TQCheckListItem public slots: void newItems( const KFileItemList& ); void completed() { if( childCount() == 0 ) { setExpandable( false ); repaint(); } } + void reset(); private: void mountDevice(const TQString & device); CollectionSetup *collectionSetup; diff --git a/src/klamscan.cpp b/src/klamscan.cpp index ea5c92e..7d116d8 100644 --- a/src/klamscan.cpp +++ b/src/klamscan.cpp @@ -415,6 +415,8 @@ void Klamscan::slotStartAgain(){ }else slotScan(); + setup->reset(); + //slotManageButtons(tabBrowser->currentPage()); } diff --git a/src/schedule.cpp b/src/schedule.cpp index 743c551..7ea7a22 100644 --- a/src/schedule.cpp +++ b/src/schedule.cpp @@ -198,6 +198,7 @@ void Schedule::slotScheduleScan() { // Update directory list filepattern = setup->dirs(); + setup->reset(); /* cthost = new CTHost();*/ /* const CTHost& cth(*cthost);