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

List:       kde-commits
Subject:    KDE/kdepim/mobile
From:       Tobias Koenig <tokoe () kde ! org>
Date:       2010-12-08 16:18:41
Message-ID: 20101208161841.613A9AC8A5 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1204675 by tokoe:

Preselect the current collection in the event/todo editor


 M  +16 -0     calendar/mainview.cpp  
 M  +9 -0      lib/calendar/incidenceview.cpp  
 M  +4 -0      lib/calendar/incidenceview.h  
 M  +8 -0      tasks/mainview.cpp  


--- trunk/KDE/kdepim/mobile/calendar/mainview.cpp #1204674:1204675
@@ -298,6 +298,14 @@
 
   item.setPayload<KCalCore::Event::Ptr>( event );
   editor->load( item );
+
+  if ( regularSelectionModel()->hasSelection() ) {
+    const QModelIndex index = regularSelectionModel()->selectedIndexes().first();
+    const Akonadi::Collection collection = index.data( \
Akonadi::EntityTreeModel::CollectionRole ).value<Akonadi::Collection>(); +    if ( \
collection.isValid() ) +      editor->setDefaultCollection( collection );
+  }
+
   editor->show();
 }
 
@@ -315,6 +323,14 @@
 
   item.setPayload<KCalCore::Todo::Ptr>( todo );
   editor->load( item );
+
+  if ( regularSelectionModel()->hasSelection() ) {
+    const QModelIndex index = regularSelectionModel()->selectedIndexes().first();
+    const Akonadi::Collection collection = index.data( \
Akonadi::EntityTreeModel::CollectionRole ).value<Akonadi::Collection>(); +    if ( \
collection.isValid() ) +      editor->setDefaultCollection( collection );
+  }
+
   editor->show();
 }
 
--- trunk/KDE/kdepim/mobile/lib/calendar/incidenceview.cpp #1204674:1204675
@@ -119,6 +119,10 @@
   const KCalCore::Incidence::Ptr incidence = CalendarSupport::incidence( mItem );
   mCollectionCombo->setMimeTypeFilter( QStringList() << incidence->mimeType() );
   mCollectionCombo->setAccessRightsFilter( Collection::CanCreateItem );
+
+  if ( mDefaultCollection.isValid() )
+    mCollectionCombo->setDefaultCollection( mDefaultCollection );
+  else
   mCollectionCombo->setDefaultCollection( mItem.parentCollection() );
 }
 
@@ -226,6 +230,11 @@
     initIncidenceMore();
 }
 
+void IncidenceView::setDefaultCollection( const Akonadi::Collection &collection )
+{
+  mDefaultCollection = collection;
+}
+
 /// ItemEditorUi methods
 
 bool IncidenceView::containsPayloadIdentifiers( const QSet<QByteArray> \
                &partIdentifiers ) const
--- trunk/KDE/kdepim/mobile/lib/calendar/incidenceview.h #1204674:1204675
@@ -20,6 +20,7 @@
 #ifndef INCIDENCEVIEW_H
 #define INCIDENCEVIEW_H
 
+#include <Akonadi/Collection>
 #include <Akonadi/Item>
 #include <kcalcore/incidence.h>
 
@@ -62,6 +63,8 @@
     void setGeneralEditor( MobileIncidenceGeneral * );
     void setMoreEditor( MobileIncidenceMore * );
 
+    void setDefaultCollection( const Akonadi::Collection &collection );
+
   public: /// ItemEditorUi function implementations
     virtual bool containsPayloadIdentifiers( const QSet<QByteArray> &partIdentifiers \
) const;  virtual bool hasSupportedPayload( const Akonadi::Item &item ) const;
@@ -98,6 +101,7 @@
     Akonadi::Item mItem;
     IncidenceEditorNG::EditorItemManager *mItemManager;
     Akonadi::CollectionComboBox *mCollectionCombo;
+    Akonadi::Collection mDefaultCollection;
     IncidenceEditorNG::CombinedIncidenceEditor *mEditor;
     IncidenceEditorNG::IncidenceDateTime *mEditorDateTime;
 
--- trunk/KDE/kdepim/mobile/tasks/mainview.cpp #1204674:1204675
@@ -187,6 +187,14 @@
 
   item.setPayload<KCalCore::Todo::Ptr>( todo );
   editor->load( item );
+
+  if ( regularSelectionModel()->hasSelection() ) {
+    const QModelIndex index = regularSelectionModel()->selectedIndexes().first();
+    const Akonadi::Collection collection = index.data( \
Akonadi::EntityTreeModel::CollectionRole ).value<Akonadi::Collection>(); +    if ( \
collection.isValid() ) +      editor->setDefaultCollection( collection );
+  }
+
   editor->show();
 }
 


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

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