[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdelibs/kio/bookmarks
From:       Waldo Bastian <bastian () kde ! org>
Date:       2005-01-27 12:42:45
Message-ID: 20050127124245.24B771CFC4 () office ! kde ! org
[Download RAW message or body]

CVS commit by waba: 

* Automatically delete all crash reports that we aren't going to show
* Filter out dupes (Crashes with the same set of urls)


  M +19 -3     kbookmarkimporter_crash.cc   1.24


--- kdelibs/kio/bookmarks/kbookmarkimporter_crash.cc  #1.23:1.24
@@ -140,11 +140,14 @@ QStringList KCrashBookmarkImporterImpl::
 
     int count = 0;
-    for ( ; ( fi = it.current() ) != 0; ++it ) 
+    for ( ; (( fi = it.current() ) != 0) && (count < 20); ++it, ++count ) 
     {
         bool stillAlive = activeLogs.contains( fi->absFilePath() );
         if ( !stillAlive )
             crashFiles << fi->absFilePath();
-        if ( count++ > 20 )
-            break;
+    }
+    // Delete remaining ones
+    for ( ; ( fi = it.current() ) != 0; ++it ) 
+    {
+        QFile::remove( fi->absFilePath() );
     }
 
@@ -154,4 +157,5 @@ QStringList KCrashBookmarkImporterImpl::
 void KCrashBookmarkImporterImpl::parse() 
 {
+    QDict<bool> signatureMap;
     QStringList crashFiles = KCrashBookmarkImporterImpl::getCrashLogs();
     int count = 1;
@@ -160,4 +164,16 @@ void KCrashBookmarkImporterImpl::parse()
         ViewMap views;
         views = parseCrashLog_noemit( *it, m_shouldDelete );
+        QString signature;
+        for ( ViewMap::Iterator it = views.begin(); it != views.end(); ++it ) 
+            signature += "|"+it.data();
+        if (signatureMap[signature])
+        {
+            // Duplicate... throw away and skip
+            QFile::remove(*it);
+            continue;
+        }
+            
+        signatureMap.insert(signature, (bool *) true); // hack
+
         int outerFolder = ( crashFiles.count() > 1 ) && (views.count() > 0);
         if ( outerFolder )


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic