photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraddtocontainer.cpp
changeset 3 9a9c174934f5
parent 2 7d9067c6fcb1
child 9 6b87b143d312
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraddtocontainer.cpp	Mon Jan 18 20:19:20 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraddtocontainer.cpp	Tue Jan 26 11:58:28 2010 +0200
@@ -66,6 +66,19 @@
     }
 
 // ---------------------------------------------------------------------------
+// Return add to album command handler for singleclick options menu
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CGlxCommandHandlerAddToContainer* 
+    CGlxCommandHandlerAddToContainer::NewAddToAlbumSingleClickCommandHandlerL(
+        MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem) 
+    {
+    return CGlxCommandHandlerAddToContainer::NewL (aMediaListProvider, 
+                              EGlxCmdSingleClickAddToAlbum, aHasToolbarItem);
+    }
+
+
+// ---------------------------------------------------------------------------
 // Return add (to) tags command handler
 // ---------------------------------------------------------------------------
 //
@@ -79,6 +92,19 @@
     }
 
 // ---------------------------------------------------------------------------
+// Return add (to) tags command handler for singleclick option menu
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CGlxCommandHandlerAddToContainer* 
+    CGlxCommandHandlerAddToContainer::NewAddToTagSingleClickCommandHandlerL(
+        MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem) 
+    {
+    return CGlxCommandHandlerAddToContainer::NewL(aMediaListProvider, 
+                                EGlxCmdSingleClickAddTag, aHasToolbarItem);
+    }
+
+
+// ---------------------------------------------------------------------------
 // Return add (to) Favourites command handler
 // ---------------------------------------------------------------------------
 //
@@ -194,6 +220,7 @@
             break;
             }
         case EGlxCmdAddToAlbum:
+        case EGlxCmdSingleClickAddToAlbum:
             {
             enablePopup = ETrue;
             targetCollection->AppendL(KGlxCollectionPluginAlbumsImplementationUid);
@@ -202,6 +229,7 @@
             break;
             }
         case EGlxCmdAddTag:
+        case EGlxCmdSingleClickAddTag:
             {
             enableMultipleSelection = ETrue;
             enablePopup = ETrue;
@@ -262,7 +290,8 @@
 HBufC* CGlxCommandHandlerAddToContainer::CompletionTextL() const
     {
     TRACER("CGlxCommandHandlerAddToContainer::CompletionTextL()");
-    if (iCommandId == EGlxCmdAddToAlbum)
+    if (iCommandId == EGlxCmdAddToAlbum || 
+        iCommandId == EGlxCmdSingleClickAddToAlbum )
     	{
    		if (iSelectionCount > 1)
    			{
@@ -270,7 +299,8 @@
    			}
    		return StringLoader::LoadL(R_GLX_COMPLETION_ADD_TO_CONTAINER_ONE_ITEM_ALBUM);
     	}
-   	else if (iCommandId == EGlxCmdAddTag)
+   	else if (iCommandId == EGlxCmdAddTag || 
+             iCommandId == EGlxCmdSingleClickAddTag)
    		{
    		if (iSelectionCount > 1)
    			{
@@ -324,3 +354,26 @@
 	{
 
 	}
+
+// ---------------------------------------------------------------------------
+// CGlxCommandHandlerAddToContainer::DoIsDisabled
+// ---------------------------------------------------------------------------
+//
+TBool CGlxCommandHandlerAddToContainer::DoIsDisabled(TInt aCommandId, 
+                                                 MGlxMediaList& aList) const
+    {
+	TRACER("CGlxCommandHandlerAddToContainer::DoIsDisabled");
+    if ( (EGlxCmdSingleClickAddToAlbum==aCommandId || 
+          EGlxCmdSingleClickAddTag == aCommandId) && 
+          aList.SelectionCount() > 0 )
+        {   
+        return EFalse;
+        }
+    else if (EGlxCmdAddToAlbum==aCommandId || EGlxCmdAddTag == aCommandId)
+        {
+        return EFalse;
+        }
+
+    return ETrue;
+    }
+