ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraddtocontainer.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 15:14:51 +0300
branchRCL_3
changeset 59 8e5f6eea9c9f
permissions -rw-r--r--
Revision: 201033 Kit: 201035

/*
* Copyright (c) 2009 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: 
*
*/

#ifndef GLXCOMMANDHANDLERADDTOCONTAINER_H
#define GLXCOMMANDHANDLERADDTOCONTAINER_H

#include <QModelIndexList>
#include <glxmpxcommandhandler.h>
#include <QGraphicsWidget>

#ifdef BUILD_COMMONCOMMANDHANDLERS
#define GLX_COMMONCOMMANDHANDLERS_EXPORT Q_DECL_EXPORT
#else
#define GLX_COMMONCOMMANDHANDLERS_EXPORT Q_DECL_IMPORT
#endif
class CMPXCollectionPath;
class HbPushButton;
class HbListView;
class QGraphicsGridLayout;
class GlxAlbumModel;
class QGraphicsItem;
class QItemSelectionModel;
class QEventLoop;

class GLX_COMMONCOMMANDHANDLERS_EXPORT GlxCommandHandlerAddToContainer : public GlxMpxCommandHandler
{
  
public:
    GlxCommandHandlerAddToContainer();
    ~GlxCommandHandlerAddToContainer();
    CMPXCommand* CreateCommandL(TInt aCommandId, MGlxMediaList& aMediaList, TBool& aConsume) const ;

private:
    QString CompletionTextL() const;
    QString ProgressTextL() const; 
    void createNewMedia() const;

private:
    mutable bool mNewMediaAdded ;
    mutable CMPXCollectionPath* mTargetContainers ;
    mutable QString mAlbumName;
};

class GlxAlbumSelectionPopup: public QObject
{
    Q_OBJECT

public:
    GlxAlbumSelectionPopup();
    ~GlxAlbumSelectionPopup();
    QModelIndexList GetSelectionList(GlxAlbumModel *model,bool *ok = 0) ;
    
private slots:
    void dialogClosed( HbAction *action ) ;
    
private :
    QItemSelectionModel * mSelectionModel; //no owner ship
    QEventLoop *mEventLoop;
    bool mResult;        
};
    
#endif // GLXCOMMANDHANDLERADDTOCONTAINER_H