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

List:       kde-commits
Subject:    [kdepim-runtime] 579fb82: Set the index to dirty when saving the
From:       Till Adam <till () kdab ! com>
Date:       2010-12-29 19:32:56
Message-ID: 20101229193256.0F1FDA6090 () git ! kde ! org
[Download RAW message or body]

commit 579fb82781064e4d6f13440d62bc6c18c397cde3
branch master
Author: Till Adam <till@kdab.com>
Date:   Wed Dec 29 20:28:41 2010 +0100

    Set the index to dirty when saving the settings for the agent.
    
    Previously we only re-indexed when the compat level changed, but
    if one throws away the index, and the feeder, and later re-enables
    it, the compat level of the index hasn't been reset. An option would
    be to reduce the compat level by one, upon saving changes, but let's
    be clean and simply keep an explicit boolean to force re-indexing
    on config changes. As a side effect, this makes sure re-indexing
    happens when the feeder is removed and re-added.

diff --git a/agents/strigifeeder/configdialog.cpp b/agents/strigifeeder/configdialog.cpp
index 2435be2..9307ccc 100644
--- a/agents/strigifeeder/configdialog.cpp
+++ b/agents/strigifeeder/configdialog.cpp
@@ -47,6 +47,7 @@ ConfigDialog::ConfigDialog( WId windowId, Settings *settings, QWidget * parent )
 void ConfigDialog::save()
 {
   m_manager->updateSettings();
+  mSettings->setNeedsReindexing( true );
   mSettings->writeConfig();
 }
 
diff --git a/agents/strigifeeder/strigifeeder.cpp b/agents/strigifeeder/strigifeeder.cpp
index 02c24b8..99fa54c 100644
--- a/agents/strigifeeder/strigifeeder.cpp
+++ b/agents/strigifeeder/strigifeeder.cpp
@@ -351,7 +351,8 @@ void StrigiFeeder::selfTest()
 bool StrigiFeeder::needsReIndexing() const
 {
   const KConfigGroup group( componentData().config(), "InitialIndexing" );
-  return mIndexCompatLevel > group.readEntry( "IndexCompatLevel", 0 );
+  return mSettings->needsReindexing()
+      || mIndexCompatLevel > group.readEntry( "IndexCompatLevel", 0 );
 }
 
 ItemFetchScope StrigiFeeder::fetchScopeForCollection( const Akonadi::Collection &collection )
diff --git a/agents/strigifeeder/strigifeeder.kcfg b/agents/strigifeeder/strigifeeder.kcfg
index eccb28d..64024b6 100644
--- a/agents/strigifeeder/strigifeeder.kcfg
+++ b/agents/strigifeeder/strigifeeder.kcfg
@@ -5,6 +5,11 @@
       xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
       http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
   <kcfgfile arg="true"/>
+  <group name="General">
+    <entry name="NeedsReindexing" type="Bool">
+      <default>false</default>
+    </entry>
+  </group>
   <group name="Encryption">
     <entry name="IndexEncryptedContent" type="Enum">
       <label>Index encrypted mail content.</label>
[prev in list] [next in list] [prev in thread] [next in thread] 

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