[Bug 261048] Sorting mails after todo flag not possible.

Tobias Koenig tokoe at kde.org
Thu Dec 23 15:56:26 GMT 2010


https://bugs.kde.org/show_bug.cgi?id=261048


Tobias Koenig <tokoe at kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




--- Comment #1 from Tobias Koenig <tokoe kde org>  2010-12-23 16:56:25 ---
commit f1f1269fcad0c07465506515fdcc2a1c652d7d27
branch master
Author: Tobias Koenig <tokoe at kde.org>
Date:   Thu Dec 23 16:59:41 2010 +0100

    Implement support for sorting by Action Item Status

    BUG: 261048

diff --git a/mobile/mail/mailthreadgroupercomparator.cpp
b/mobile/mail/mailthreadgroupercomparator.cpp
index 9bb4128..1829b22 100644
--- a/mobile/mail/mailthreadgroupercomparator.cpp
+++ b/mobile/mail/mailthreadgroupercomparator.cpp
@@ -21,9 +21,9 @@

 #include "mailthreadgroupercomparator.h"

+#include <akonadi/kmime/messageflags.h>
 #include <messagecore/stringutil.h>

-
 MailThreadGrouperComparator::MailThreadGrouperComparator()
   : mSortingOption( SortByDateTimeMostRecent ),
     mIsOutboundCollection( false )
@@ -122,6 +122,15 @@ bool MailThreadGrouperComparator::lessThan( const
Akonadi::Item &leftItem, const
             return leftSize < rightSize;
         }
         break;
+      case SortByActionItem:
+        {
+          const bool leftIsActionItem = leftThreadRootItem.flags().contains(
Akonadi::MessageFlags::ToAct );
+          const bool rightIsActionItem = rightThreadRootItem.flags().contains(
Akonadi::MessageFlags::ToAct );
+
+          if ( leftIsActionItem != rightIsActionItem )
+            return leftIsActionItem;
+        }
+        break;
     }

     return leftThreadRootItem.id() < rightThreadRootItem.id();
diff --git a/mobile/mail/mailthreadgroupercomparator.h
b/mobile/mail/mailthreadgroupercomparator.h
index f377108..6729391 100644
--- a/mobile/mail/mailthreadgroupercomparator.h
+++ b/mobile/mail/mailthreadgroupercomparator.h
@@ -35,7 +35,8 @@ class MailThreadGrouperComparator : public
ThreadGrouperComparator
       SortByDateTimeMostRecent,
       SortBySenderReceiver,
       SortBySubject,
-      SortBySize
+      SortBySize,
+      SortByActionItem
     };

     /**
diff --git a/mobile/mail/mainview.cpp b/mobile/mail/mainview.cpp
index b745472..fc984d9 100644
--- a/mobile/mail/mainview.cpp
+++ b/mobile/mail/mainview.cpp
@@ -1708,6 +1708,9 @@ void MainView::messageListSettingsChanged( const
MessageListSettings &settings )
     case MessageListSettings::SortBySize:
       m_grouperComparator->setSortingOption(
MailThreadGrouperComparator::SortBySize );
       break;
+    case MessageListSettings::SortByActionItem:
+      m_grouperComparator->setSortingOption(
MailThreadGrouperComparator::SortByActionItem );
+      break;
   }

   m_threadGrouperModel->setThreadingEnabled( settings.useThreading() );
diff --git a/mobile/mail/messagelistsettings.h
b/mobile/mail/messagelistsettings.h
index b91b68a..0165f43 100644
--- a/mobile/mail/messagelistsettings.h
+++ b/mobile/mail/messagelistsettings.h
@@ -36,7 +36,8 @@ class MessageListSettings
       SortByDateTimeMostRecent,
       SortBySenderReceiver,
       SortBySubject,
-      SortBySize
+      SortBySize,
+      SortByActionItem
     };

     enum GroupingOption
diff --git a/mobile/mail/messagelistsettingseditor.ui
b/mobile/mail/messagelistsettingseditor.ui
index 2fbef68..11a6a69 100644
--- a/mobile/mail/messagelistsettingseditor.ui
+++ b/mobile/mail/messagelistsettingseditor.ui
@@ -6,7 +6,7 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>412</width>
+    <width>413</width>
     <height>161</height>
    </rect>
   </property>
@@ -27,7 +27,7 @@
      </item>
      <item>
       <property name="text">
-          <string>By Most Recent in Discussion</string>
+       <string>By Most Recent in Discussion</string>
       </property>
      </item>
      <item>
@@ -45,6 +45,11 @@
        <string>By Size</string>
       </property>
      </item>
+     <item>
+      <property name="text">
+       <string>By Action Item Status</string>
+      </property>
+     </item>
     </widget>
    </item>
    <item row="0" column="2">

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the Kdepim-bugs mailing list