[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-02 14:58:49
Message-ID: 20101202145849.5ECA6AC8A4 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1202855 by tokoe:

Overwrite action texts for StandardXYZActionManagers which
set the texts depending on the mime type of the selected item.


 M  +31 -0     calendar/mainview.cpp  
 M  +1 -0      calendar/mainview.h  
 M  +25 -0     contacts/mainview.cpp  
 M  +1 -0      contacts/mainview.h  
 M  +31 -0     tasks/mainview.cpp  
 M  +1 -0      tasks/mainview.h  


--- trunk/KDE/kdepim/mobile/calendar/mainview.cpp #1202854:1202855
@@ -375,6 +375,7 @@
            this, SLOT( newTodo() ) );
   connect( mActionManager->action( \
Akonadi::StandardCalendarActionManager::EditIncidence ), SIGNAL( triggered( bool ) ), \
this, SLOT( editIncidence() ) ); +  connect( mActionManager, SIGNAL( \
actionStateUpdated() ), SLOT( updateActionTexts() ) );  
   ActionHelper::adaptStandardActionTexts( mActionManager );
 
@@ -394,6 +395,36 @@
   mActionManager->setCollectionPropertiesPageNames( pages );
 }
 
+void MainView::updateActionTexts()
+{
+  const Akonadi::Item::List items = mActionManager->selectedItems();
+  if ( items.count() < 1 )
+    return;
+
+  const int itemCount = items.count();
+  const Akonadi::Item item = items.first();
+  const QString mimeType = item.mimeType();
+  if ( mimeType == KCalCore::Event::eventMimeType() ) {
+    actionCollection()->action( "akonadi_item_copy" )->setText( ki18np( "Copy \
Event", "Copy %1 Events" ).subs( itemCount ).toString() ); +    \
actionCollection()->action( "akonadi_item_copy_to_dialog" )->setText( i18n( "Copy \
Event To" ) ); +    actionCollection()->action( "akonadi_item_delete" )->setText( \
ki18np( "Delete Event", "Delete %1 Events" ).subs( itemCount ).toString() ); +    \
actionCollection()->action( "akonadi_item_move_to_dialog" )->setText( i18n( "Move \
Event To" ) ); +    actionCollection()->action( "akonadi_incidence_edit" )->setText( \
i18n( "Edit Event" ) ); +  } else if ( mimeType == KCalCore::Todo::todoMimeType() ) {
+    actionCollection()->action( "akonadi_item_copy" )->setText( ki18np( "Copy Task", \
"Copy %1 Tasks" ).subs( itemCount ).toString() ); +    actionCollection()->action( \
"akonadi_item_copy_to_dialog" )->setText( i18n( "Copy Task To" ) ); +    \
actionCollection()->action( "akonadi_item_delete" )->setText( ki18np( "Delete Task", \
"Delete %1 Tasks" ).subs( itemCount ).toString() ); +    actionCollection()->action( \
"akonadi_item_move_to_dialog" )->setText( i18n( "Move Task To" ) ); +    \
actionCollection()->action( "akonadi_incidence_edit" )->setText( i18n( "Edit Task" ) \
); +  } else if ( mimeType == KCalCore::Journal::journalMimeType() ) {
+    actionCollection()->action( "akonadi_item_copy" )->setText( ki18np( "Copy \
Journal", "Copy %1 Journals" ).subs( itemCount ).toString() ); +    \
actionCollection()->action( "akonadi_item_copy_to_dialog" )->setText( i18n( "Copy \
Journal To" ) ); +    actionCollection()->action( "akonadi_item_delete" )->setText( \
ki18np( "Delete Journal", "Delete %1 Journals" ).subs( itemCount ).toString() ); +    \
actionCollection()->action( "akonadi_item_move_to_dialog" )->setText( i18n( "Move \
Journal To" ) ); +    actionCollection()->action( "akonadi_incidence_edit" \
)->setText( i18n( "Edit Journal" ) ); +  }
+}
+
 void MainView::setupAgentActionManager( QItemSelectionModel *selectionModel )
 {
   Akonadi::AgentActionManager *manager = new Akonadi::AgentActionManager( \
                actionCollection(), this );
--- trunk/KDE/kdepim/mobile/calendar/mainview.h #1202854:1202855
@@ -94,6 +94,7 @@
     void fetchForPublishItemDone( KJob *job );
     void fetchForiTIPMethodDone( KJob *job );
     void fetchForSaveAllAttachmentsDone( KJob *job );
+    void updateActionTexts();
 
   protected:
     virtual void setupStandardActionManager( QItemSelectionModel \
                *collectionSelectionModel,
--- trunk/KDE/kdepim/mobile/contacts/mainview.cpp #1202854:1202855
@@ -267,6 +267,7 @@
            this, SLOT( editItem() ) );
   connect( mActionManager->action( Akonadi::StandardActionManager::CreateResource ), \
SIGNAL( triggered( bool ) ),  this, SLOT( launchAccountWizard() ) );
+  connect( mActionManager, SIGNAL( actionStateUpdated() ), SLOT( updateActionTexts() \
) );  
   ActionHelper::adaptStandardActionTexts( mActionManager );
 
@@ -287,6 +288,30 @@
   actionCollection()->action( "synchronize_all_items" )->setText( i18n( "Synchronize \
All Accounts" ) );  }
 
+void MainView::updateActionTexts()
+{
+  const Akonadi::Item::List items = mActionManager->selectedItems();
+  if ( items.count() < 1 )
+    return;
+
+  const int itemCount = items.count();
+  const Akonadi::Item item = items.first();
+  const QString mimeType = item.mimeType();
+  if ( mimeType == KABC::Addressee::mimeType() ) {
+    actionCollection()->action( "akonadi_item_copy" )->setText( ki18np( "Copy \
Contact", "Copy %1 Contacts" ).subs( itemCount ).toString() ); +    \
actionCollection()->action( "akonadi_item_copy_to_dialog" )->setText( i18n( "Copy \
Contact To" ) ); +    actionCollection()->action( "akonadi_item_delete" )->setText( \
ki18np( "Delete Contact", "Delete %1 Contacts" ).subs( itemCount ).toString() ); +    \
actionCollection()->action( "akonadi_item_move_to_dialog" )->setText( i18n( "Move \
Contact To" ) ); +    actionCollection()->action( "akonadi_contact_item_edit" \
)->setText( i18n( "Edit Contact" ) ); +  } else if ( mimeType == \
KABC::ContactGroup::mimeType() ) { +    actionCollection()->action( \
"akonadi_item_copy" )->setText( ki18np( "Copy Group Of Contacts", "Copy %1 Groups Of \
Contacts" ).subs( itemCount ).toString() ); +    actionCollection()->action( \
"akonadi_item_copy_to_dialog" )->setText( i18n( "Copy Group Of Contacts To" ) ); +    \
actionCollection()->action( "akonadi_item_delete" )->setText( ki18np( "Delete Group \
Of Contacts", "Delete %1 Groups Of Contacts" ).subs( itemCount ).toString() ); +    \
actionCollection()->action( "akonadi_item_move_to_dialog" )->setText( i18n( "Move \
Group Of Contacts To" ) ); +    actionCollection()->action( \
"akonadi_contact_item_edit" )->setText( i18n( "Edit Group Of Contacts" ) ); +  }
+}
+
 void MainView::setupAgentActionManager( QItemSelectionModel *selectionModel )
 {
   Akonadi::AgentActionManager *manager = new Akonadi::AgentActionManager( \
                actionCollection(), this );
--- trunk/KDE/kdepim/mobile/contacts/mainview.h #1202854:1202855
@@ -56,6 +56,7 @@
     void itemSelectionChanged( const QItemSelection &selected, const QItemSelection& \
);  void bulkActionSelectionChanged();
     void sendMailTo();
+    void updateActionTexts();
 
   protected:
     virtual void setupStandardActionManager( QItemSelectionModel \
                *collectionSelectionModel,
--- trunk/KDE/kdepim/mobile/tasks/mainview.cpp #1202854:1202855
@@ -306,6 +306,7 @@
            SIGNAL( triggered( bool ) ), SLOT( newSubTask() ) );
   connect( mStandardActionManager->action( \
Akonadi::StandardCalendarActionManager::EditIncidence ),  SIGNAL( triggered( bool ) \
), SLOT( editIncidence() ) ); +  connect( mStandardActionManager, SIGNAL( \
actionStateUpdated() ), SLOT( updateActionTexts() ) );  
   ActionHelper::adaptStandardActionTexts( mStandardActionManager );
 
@@ -323,6 +324,36 @@
   actionCollection()->action( "synchronize_all_items" )->setText( i18n( "Synchronize \
All Tasks" ) );  }
 
+void MainView::updateActionTexts()
+{
+  const Akonadi::Item::List items = mStandardActionManager->selectedItems();
+  if ( items.count() < 1 )
+    return;
+
+  const int itemCount = items.count();
+  const Akonadi::Item item = items.first();
+  const QString mimeType = item.mimeType();
+  if ( mimeType == KCalCore::Event::eventMimeType() ) {
+    actionCollection()->action( "akonadi_item_copy" )->setText( ki18np( "Copy \
Event", "Copy %1 Events" ).subs( itemCount ).toString() ); +    \
actionCollection()->action( "akonadi_item_copy_to_dialog" )->setText( i18n( "Copy \
Event To" ) ); +    actionCollection()->action( "akonadi_item_delete" )->setText( \
ki18np( "Delete Event", "Delete %1 Events" ).subs( itemCount ).toString() ); +    \
actionCollection()->action( "akonadi_item_move_to_dialog" )->setText( i18n( "Move \
Event To" ) ); +    actionCollection()->action( "akonadi_incidence_edit" )->setText( \
i18n( "Edit Event" ) ); +  } else if ( mimeType == KCalCore::Todo::todoMimeType() ) {
+    actionCollection()->action( "akonadi_item_copy" )->setText( ki18np( "Copy Task", \
"Copy %1 Tasks" ).subs( itemCount ).toString() ); +    actionCollection()->action( \
"akonadi_item_copy_to_dialog" )->setText( i18n( "Copy Task To" ) ); +    \
actionCollection()->action( "akonadi_item_delete" )->setText( ki18np( "Delete Task", \
"Delete %1 Tasks" ).subs( itemCount ).toString() ); +    actionCollection()->action( \
"akonadi_item_move_to_dialog" )->setText( i18n( "Move Task To" ) ); +    \
actionCollection()->action( "akonadi_incidence_edit" )->setText( i18n( "Edit Task" ) \
); +  } else if ( mimeType == KCalCore::Journal::journalMimeType() ) {
+    actionCollection()->action( "akonadi_item_copy" )->setText( ki18np( "Copy \
Journal", "Copy %1 Journals" ).subs( itemCount ).toString() ); +    \
actionCollection()->action( "akonadi_item_copy_to_dialog" )->setText( i18n( "Copy \
Journal To" ) ); +    actionCollection()->action( "akonadi_item_delete" )->setText( \
ki18np( "Delete Journal", "Delete %1 Journals" ).subs( itemCount ).toString() ); +    \
actionCollection()->action( "akonadi_item_move_to_dialog" )->setText( i18n( "Move \
Journal To" ) ); +    actionCollection()->action( "akonadi_incidence_edit" \
)->setText( i18n( "Edit Journal" ) ); +  }
+}
+
 void MainView::setupAgentActionManager( QItemSelectionModel *selectionModel )
 {
   Akonadi::AgentActionManager *manager = new Akonadi::AgentActionManager( \
                actionCollection(), this );
--- trunk/KDE/kdepim/mobile/tasks/mainview.h #1202854:1202855
@@ -72,6 +72,7 @@
     void processActionFail( const Akonadi::Item &item, const QString &msg );
     void processActionFinish( const Akonadi::Item &item );
     void archiveOldEntries();
+    void updateActionTexts();
 
   protected:
     virtual QAbstractItemModel* createItemModelContext( QDeclarativeContext \
*context, QAbstractItemModel *model );


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

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