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

List:       kde-commits
Subject:    KDE/kdepim/akonadi/resources
From:       Volker Krause <vkrause () kde ! org>
Date:       2009-09-23 14:12:48
Message-ID: 1253715168.230836.21806.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1027193 by vkrause:

Hide Kolab groupware folders inside the IMAP resource. Also, restore the
folder icons for them we have in KMail.


 M  +6 -0      imap/imapresource.cpp  
 M  +5 -0      kolabproxy/addressbookhandler.cpp  
 M  +1 -0      kolabproxy/addressbookhandler.h  
 M  +4 -1      kolabproxy/calendarhandler.cpp  
 M  +1 -0      kolabproxy/calendarhandler.h  
 M  +17 -0     kolabproxy/journalhandler.cpp  
 M  +8 -0      kolabproxy/journalhandler.h  
 M  +1 -9      kolabproxy/kolabhandler.cpp  
 M  +5 -1      kolabproxy/kolabhandler.h  
 M  +4 -3      kolabproxy/kolabproxyresource.cpp  
 M  +5 -0      kolabproxy/taskshandler.cpp  
 M  +1 -0      kolabproxy/taskshandler.h  


--- trunk/KDE/kdepim/akonadi/resources/imap/imapresource.cpp #1027192:1027193
@@ -1135,6 +1135,12 @@
 
   Collection collection = job->property( AKONADI_COLLECTION ).value<Collection>();
 
+  // hide groupware folders on Kolab/Scalix etc.
+  if ( !annotations.value( "/vendor/kolab/folder-type" ).contains( "mail" ) ) {
+    EntityDisplayAttribute* attr = collection.attribute<EntityDisplayAttribute>( \
Collection::AddIfMissing ); +    attr->setHidden( true );
+  }
+
   // Store the mailbox metadata
   CollectionAnnotationsAttribute *annotationsAttribute =
     collection.attribute<CollectionAnnotationsAttribute>( Collection::AddIfMissing \
                );
--- trunk/KDE/kdepim/akonadi/resources/kolabproxy/addressbookhandler.cpp \
#1027192:1027193 @@ -214,3 +214,8 @@
   return QStringList() << KABC::Addressee::mimeType()
                        << KABC::ContactGroup::mimeType();
 }
+
+QString AddressBookHandler::iconName() const
+{
+  return QString::fromLatin1( "view-pim-contacts" );
+}
--- trunk/KDE/kdepim/akonadi/resources/kolabproxy/addressbookhandler.h \
#1027192:1027193 @@ -46,6 +46,7 @@
     virtual Akonadi::Item::List translateItems(const Akonadi::Item::List & addrs);
     virtual void toKolabFormat(const Akonadi::Item& item, Akonadi::Item &imapItem);
     virtual QStringList contentMimeTypes();
+    virtual QString iconName() const;
 
 private:
     bool addresseFromKolab(const KMime::Message::Ptr &data, KABC::Addressee \
                &addressee);
--- trunk/KDE/kdepim/akonadi/resources/kolabproxy/calendarhandler.cpp \
#1027192:1027193 @@ -69,4 +69,7 @@
   return QStringList() << Akonadi::KCalMimeTypeVisitor::eventMimeType();
 }
 
-
+QString CalendarHandler::iconName() const
+{
+  return QString::fromLatin1( "view-calendar" );
+}
--- trunk/KDE/kdepim/akonadi/resources/kolabproxy/calendarhandler.h #1027192:1027193
@@ -32,6 +32,7 @@
   CalendarHandler();
   virtual ~CalendarHandler();
   virtual QStringList contentMimeTypes();
+  virtual QString iconName() const;
 
 private:
   virtual QByteArray incidenceToXml(KCal::Incidence *incidence);
--- trunk/KDE/kdepim/akonadi/resources/kolabproxy/journalhandler.cpp #1027192:1027193
@@ -67,3 +67,20 @@
 {
   return QStringList() << Akonadi::KCalMimeTypeVisitor::journalMimeType();
 }
+
+QString JournalHandler::iconName() const
+{
+  return QString::fromLatin1( "view-pim-journal" );
+}
+
+
+
+NotesHandler::NotesHandler() : JournalHandler()
+{
+  m_mimeType = "application/x-vnd.kolab.note";
+}
+
+QString NotesHandler::iconName() const
+{
+  return QString::fromLatin1( "view-pim-notes" );
+}
--- trunk/KDE/kdepim/akonadi/resources/kolabproxy/journalhandler.h #1027192:1027193
@@ -33,6 +33,7 @@
   virtual ~JournalHandler();
 
   virtual QStringList contentMimeTypes();
+  virtual QString iconName() const;
 
 private:
   virtual QByteArray incidenceToXml(KCal::Incidence *incidence);
@@ -40,4 +41,11 @@
   KCal::Journal *journalFromKolab(const KMime::Message::Ptr &data);
 };
 
+class NotesHandler : public JournalHandler
+{
+  public:
+    NotesHandler();
+    virtual QString iconName() const;
+};
+
 #endif
--- trunk/KDE/kdepim/akonadi/resources/kolabproxy/kolabhandler.cpp #1027192:1027193
@@ -41,9 +41,7 @@
   } else if (type ==  "journal.default" || type ==  "journal") {
     return new JournalHandler();
   } else if (type ==  "note.default" || type ==  "note") {
-    JournalHandler *handler =  new JournalHandler();
-    handler->setMimeType("application/x-vnd.kolab.note");
-    return handler;
+    return new NotesHandler();
   } else {
     return 0L;
   }
@@ -78,12 +76,6 @@
   return m_mimeType;
 }
 
-void KolabHandler::setMimeType(const QByteArray &type)
-{
-  m_mimeType = type;
-}
-
-
 KMime::Content* KolabHandler::findContentByType(const KMime::Message::Ptr &data, \
const QByteArray &type)  {
   const KMime::Content::List list = data->contents();
--- trunk/KDE/kdepim/akonadi/resources/kolabproxy/kolabhandler.h #1027192:1027193
@@ -63,8 +63,12 @@
    */
   virtual QStringList contentMimeTypes() = 0;
 
+  /**
+   * Returns the default icon for this folder type.
+   */
+  virtual QString iconName() const = 0;
+
   virtual QByteArray mimeType() const;
-  virtual void setMimeType(const QByteArray& type);
 
   virtual void itemDeleted(const Akonadi::Item &item) { Q_UNUSED( item ); }
   virtual void itemAdded(const Akonadi::Item &item) { Q_UNUSED( item ); }
--- trunk/KDE/kdepim/akonadi/resources/kolabproxy/kolabproxyresource.cpp \
#1027192:1027193 @@ -596,8 +596,8 @@
   else
     c.parentCollection().setRemoteId( QString::number( \
imapCollection.parentCollection().id() ) );  EntityDisplayAttribute *imapAttr = \
imapCollection.attribute<EntityDisplayAttribute>(); +  EntityDisplayAttribute \
*kolabAttr = c.attribute<EntityDisplayAttribute>( Collection::AddIfMissing );  if ( \
                imapAttr ) {
-    EntityDisplayAttribute *kolabAttr = c.attribute<EntityDisplayAttribute>( \
Collection::AddIfMissing );  if ( imapAttr->iconName() == QLatin1String( \
"mail-folder-inbox" ) ) {  kolabAttr->setDisplayName( i18n( "My Data" ) );
       kolabAttr->setIconName( QLatin1String( "view-pim-summary" ) );
@@ -610,12 +610,13 @@
   KolabHandler *handler = m_monitoredCollections.value(imapCollection.id());
   QStringList contentTypes;
   contentTypes.append( Collection::mimeType() );
-  if ( handler )
+  if ( handler ) {
     contentTypes.append( handler->contentMimeTypes() );
+    kolabAttr->setIconName( handler->iconName() );
+  }
   c.setContentMimeTypes( contentTypes );
   c.setRights( imapCollection.rights() );
   c.setRemoteId(QString::number(imapCollection.id()));
-
   return c;
 }
 
--- trunk/KDE/kdepim/akonadi/resources/kolabproxy/taskshandler.cpp #1027192:1027193
@@ -69,3 +69,8 @@
 {
   return QStringList() << Akonadi::KCalMimeTypeVisitor::todoMimeType();
 }
+
+QString TasksHandler::iconName() const
+{
+  return QString::fromLatin1( "view-pim-tasks" );
+}
--- trunk/KDE/kdepim/akonadi/resources/kolabproxy/taskshandler.h #1027192:1027193
@@ -32,6 +32,7 @@
   TasksHandler();
   virtual ~TasksHandler();
   virtual QStringList contentMimeTypes();
+  virtual QString iconName() const;
 
 private:
   virtual QByteArray incidenceToXml(KCal::Incidence *incidence);


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

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