diff -r 4697dfb2d7ad -r 238255e8b033 messagingapp/shareui/inc/shareuiprivate.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingapp/shareui/inc/shareuiprivate.h Fri Apr 16 14:56:15 2010 +0300 @@ -0,0 +1,204 @@ +/* +* 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: Offers message creation and sending services. + * +*/ + + + +#ifndef SHAREUIPRIVATE_H_ +#define SHAREUIPRIVATE_H_ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + + +#define SERVICE_INTERFACE "imessage.send" +#define SHARE_OP "send(QVariant)" + +/** + * Private implementaion of shareui. + * implements showing sending services dialog and sending files + */ +class ShareUiPrivate : public QObject + { + Q_OBJECT + +public: + + /** + * Constructor + */ + ShareUiPrivate(); + + /** + * Destructor + */ + virtual ~ShareUiPrivate(); + + /** + * method for passing file list to the sending services + * @param fileList list of paths to files.eg: c:\images\sunset.jpg + * @param embedded true if sendui dialog is embedded in the launched application + * + * @return bool true if dialog initialization successfull otherwise false + */ + bool init(QStringList& fileList, bool embedded); + + + +public slots: + + /** + * Handles setting th orguments for triggered service + */ + void onTriggered(void); + + /** + * Slot for handling valid returns from the framework. + * + * @param result const QVariant& + */ + void handleOk(const QVariant& result); + + /** + * Slot for handling errors. Error ids are provided as + * 32-bit integers. + * @param errorCode qint32 + */ + void handleError(int errorCode, const QString& errorMessage); + +private slots: + + /** + * When a list box item is pressed, this slot should be invoked. The action + * corresponding to the clicked list item should be invoked with the stored lis + * of files. + * + * @param index QModelIndex + * + */ + void itemActivated(QModelIndex index); + +private: + + /** + * fetchServiceDescriptors + * + * Fetches the service descriptors using the Application Manager api. + * + * @return error boolean true if successfully fetched. + */ + bool fetchServiceDescriptors(QList& descriptorList); + + /** + * fetchServiceAction fetches the action associated with a specified interface descriptor. + * This is used after the fetchServiceDescriptors is called, and + * + * @param serviceDescriptor ServiceDescriptor fetched using fetchServiceDescriptors + * @return error boolean true if successfully fetched. + */ + HbAction* fetchServiceAction(XQAiwInterfaceDescriptor interfaceDescriptor); + + /** + * Creates the view for the sendui dialog. + * + * @return bool true if initialization was successful, false otherwise. + */ + void initializeUi(void); + + /** + * Update the SendUi Dialog (and associated list items) once the required + * information has been fetched. + * + * @params action HbAction* The action that must be associated with the entry at that point in the list. + */ + bool updateShareUiDialogList(HbAction* action); + + /** + * Enable the UI and show it on the screen. + */ + void enableUi(void); + + /** + * Convert a qaction to hbaction. + * + * @param action QAction* + * @return HbAction* + */ + HbAction* convertAction(QAction *action); + +private: + /** + * + * List of files to be sent. + * + */ + QList mFileList; + + /** + * Service List + */ + QList mAiwRequestList; + /** + * ShareUi dialog + */ + HbDialog* mSharePopup; + + /** + * + * item model for content list view. + */ + + QStandardItemModel* mContentItemModel; + /** + * content view + */ + + HbListView* mContentListView; + + /** + * mapping qmodelindex to the action + * + */ + + QMap mIndexActionMap; + + /** + * Application Manager + */ + XQApplicationManager mAppManager; + + /** + * Whether to launch the sending application as embedded or not. + */ + bool mIsEmbedded; + + }; + +#endif /* SENDUIDIALOG_P_H_ */