menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfoldercommanddelete.cpp
branchv5backport
changeset 14 1abc632eb502
parent 13 6205fd287e8a
child 20 636d517f67e6
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfoldercommanddelete.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,395 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Delete folder command
- *
-*/
-
- 
-#include <liwcommon.h>
-#include <e32base.h>
-#include <eikenv.h>
-#include <StringLoader.h>
-#include <aknnotedialog.h>
-#include <AknQueryDialog.h>
-#include <AknWaitDialog.h> 
-
-#include "mmfoldercommanddelete.h"
-#include "mmdialogmanager.h"
-#include "mmactionrequest.h"
-#include "hnglobals.h"
-#include "hnliwutils.h"
-#include "menudebug.h"
-#include "hnutils.h"
-
-#include "hnmdbasekey.h"
-#include "hnmdkeyfactory.h"
-#include "menudebug.h"
-#include "hnconvutils.h"
-#include "hnservicehandler.h"
-#include "mmpluginsharedresources.h"
-
-#include <avkon.rsg>
-#include <matrixmenu.rsg>
-#include <mmfolderuiextplugin.rsg>
-
-
-_LIT8( KChildrenCount8, "children_count" );
-
-// ============================ MEMBER FUNCTIONS =============================
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandDelete* CMmFolderCommandDelete::NewL()
-	{
-	CMmFolderCommandDelete* self = new( ELeave ) CMmFolderCommandDelete();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommandDelete::ConstructL()
-	{
-	BaseConstructL();
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandDelete::~CMmFolderCommandDelete()
-	{
-	delete iServiceHandler;
-    if( iWaitDialog )
-        {
-        delete iWaitDialog;
-        }
-	}
-
-// ---------------------------------------------------------------------------
-// Default C++ constructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandDelete::CMmFolderCommandDelete()
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmFolderCommandDelete::HandleNotifyL(  TInt /*aCmdId*/, 
-                                TInt aEventId,
-                                CLiwGenericParamList& /* aEventParamList */,
-                                const CLiwGenericParamList& /*aInParamList*/ )
-    {  
-    if( aEventId != KLiwEventCanceled  )
-        {
-        StopWaitDialogL();
-        MMPERF(("CFolderUiExtPlugin::DeleteFolderCommandL - END"));
-        }
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommandDelete::ExecuteActionL(
-        CLiwGenericParamList* aEventParamList )
-    {
-    MMPERF(("CFolderUiExtPlugin::DeleteFolderCommandL - START"));
-    TInt id = GetIntL( *aEventParamList, KIdAttrName8 );
-    TPtrC currentName = GetStringL( *aEventParamList, KName8 );
-    TInt32 childrenCount = GetIntL( *aEventParamList, KChildrenCount8 );
-	
-	if( childrenCount == 0 )
-	    {
-        if( DeleteQueryL( currentName ) )
-            {
-            DeleteItemFromMcsL( id, currentName );
-
-            CLiwGenericParamList* list = CLiwGenericParamList::NewLC();
-            TLiwGenericParam command( KHnRequest, TLiwVariant( KDisableActionsForItem ) );
-            TLiwGenericParam itemCustomId(
-                    KItemCustomId8, TLiwVariant( static_cast<TInt32>( id ) ) );
-            list->AppendL( itemCustomId );
-            list->AppendL( command );
-            iActionRequest->HandleRequestL( *list );
-            CleanupStack::PopAndDestroy( list );
-        	}
-	    }
-	else
-	    {
-	    DisplayErrorInfoL( currentName );
-	    }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-void CMmFolderCommandDelete::MoveFocusBeforeDeleteL()
-    {
-    CLiwGenericParamList* list = CLiwGenericParamList::NewLC();
-    TLiwGenericParam command( KHnRequest, TLiwVariant( KMoveFocusBeforeDelete ) );
-
-    list->AppendL( command );
-    
-    iActionRequest->HandleRequestL( *list );
-    CleanupStack::PopAndDestroy( list );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//	
-void CMmFolderCommandDelete::StartWaitDialogL( const TDesC& aLabel )
-    {
-    if( iWaitDialog )
-        {
-        delete iWaitDialog;
-        iWaitDialog = NULL;
-        }
- 
-    // For the wait dialog
-    iWaitDialog = new (ELeave) CAknWaitDialog(
-        REINTERPRET_CAST( CEikDialog**, &iWaitDialog ) );
-    iWaitDialog->SetCallback( this );
-    iWaitDialog->SetTextL( aLabel );
-    iWaitDialog->ExecuteLD( R_MENU_WAIT_DIALOG );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//	
-void CMmFolderCommandDelete::DialogDismissedL(TInt /*aButtonId*/)
-    {
-    // No implementation required.
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//	
-void CMmFolderCommandDelete::StopWaitDialogL()
-    {
-    if( iWaitDialog )
-        {
-        iWaitDialog->ProcessFinishedL(); 
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//	
-TBool CMmFolderCommandDelete::DeleteQueryL( const TDesC& aFolderName )
-	{
-	HBufC* msg = StringLoader::LoadLC(
-			R_MENU_EDIT_DELETE_QUERY_TEXT, aFolderName );
-	CAknQueryDialog* dialog = CAknQueryDialog::NewL();
-	SetDialogL( dialog );
-	TBool result( dialog->ExecuteLD( R_MENU_EDIT_DELETE_QUERY, *msg ) );
-	SetDialogL( NULL );
-    CleanupStack::PopAndDestroy( msg );
-    return result;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CMmFolderCommandDelete::DeleteItemFromMcsL(
-        TInt aId, const TDesC& aFolderName )
-    {
-	MMPERF(("\t\t Delete folder - START"));
-	
-	GetListL( aId );
-    TInt pos( 0 );
-    TInt count( 0 );
-    const TLiwGenericParam* res =
-            iGetListOutParam->FindFirst( pos, KReturnValue8() );
-    if( pos != KErrNotFound && res )
-        {
-        count = res->Value().AsList()->Count();
-        }
-    
-    if( count == 0 )
-        {
-        StartWaitDialogL( iSharedResources->GetMsgFolderDeleting() );
-        CHnMdBaseKey* inDataKey = HnMdKeyFactory::CreateL(
-            KInData8, KKeyTypeMap, KDefaultParentId8 );
-        CleanupStack::PushL( inDataKey );
-
-        HBufC8* id = HnConvUtils::NumToStr8LC( aId );
-        AddSubKeyL( inDataKey, KIdParam, KKeyTypeInteger, *id );
-        MCSQueryExecutionL( KCmdDelete8, inDataKey, NULL, this );
-
-        CleanupStack::PopAndDestroy( id );
-        CleanupStack::PopAndDestroy( inDataKey );
-        }
-    else
-        {
-        HBufC* message = StringLoader::LoadLC(
-                R_FLDR_CANNOT_DELETE_ITEM, aFolderName );
-        CAknNoteDialog* dialog = new (ELeave) CAknNoteDialog(
-                CAknNoteDialog::EConfirmationTone,
-                CAknNoteDialog::ELongTimeout );
-        dialog->SetTextL( message->Des() );
-        dialog->ExecuteDlgLD( R_MENU_EDIT_MOVING_ABORT_NOTIFICATION );
-        
-        CleanupStack::PopAndDestroy( message );
-        }
-	
-	MMPERF(("\t\t Delete folder - END"));
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CMmFolderCommandDelete::UninstallL( TInt aId )
-    {
-    MMPERF(("\t\t Delete folder - START"));
-    
-    CHnMdBaseKey* inDataKey = HnMdKeyFactory::CreateL(
-        KInData8, KKeyTypeMap, KDefaultParentId8 );
-    CleanupStack::PushL( inDataKey );
-
-    HBufC8* id = HnConvUtils::NumToStr8LC( aId );
-    AddSubKeyL( inDataKey, KIdParam, KKeyTypeInteger, *id );
-    AddSubKeyL( inDataKey, KAction, KKeyTypeString8, KActionRemove );
-    MCSQueryExecutionL( KCmdExecuteAction8, inDataKey, NULL, this );
-
-    CleanupStack::PopAndDestroy( id );
-    CleanupStack::PopAndDestroy( inDataKey );
-    
-    MMPERF(("\t\t Delete folder - END"));
-    }
-
-
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmFolderDeleteSuite* CMmFolderDeleteSuite::NewL()
-	{
-	CMmFolderDeleteSuite* self = new( ELeave ) CMmFolderDeleteSuite();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmFolderDeleteSuite::ConstructL()
-	{
-	}
-
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderDeleteSuite::~CMmFolderDeleteSuite()
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// Default C++ constructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderDeleteSuite::CMmFolderDeleteSuite()
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderDeleteSuite::ExecuteActionL(
-        CLiwGenericParamList* /* aEventParamList */ )
-    {
-//    TPtrC currentName = GetStringL( *aEventParamList, KName8 );
-    }
-
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmFolderDeleteApp* CMmFolderDeleteApp::NewL()
-	{
-	CMmFolderDeleteApp* self = new( ELeave ) CMmFolderDeleteApp();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmFolderDeleteApp::ConstructL()
-	{
-	
-	}
-
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderDeleteApp::~CMmFolderDeleteApp()
-	{
-	
-	}
-
-// ---------------------------------------------------------------------------
-// Default C++ constructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderDeleteApp::CMmFolderDeleteApp()
-	{
-	
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderDeleteApp::ExecuteActionL(
-        CLiwGenericParamList* aEventParamList )
-    {
-    MMPERF(("CMmFolderDeleteApp::DeleteAppCommandL - START"));
-    TInt id = GetIntL( *aEventParamList, KIdAttrName8 );
-    UninstallL( id );
-    }
-
-// end of file
-