diff -r 5cc91383ab1e -r 7333d7932ef7 appinstaller/AppinstUi/sifuidevicedialogplugin/inc/sifuidialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/appinstaller/AppinstUi/sifuidevicedialogplugin/inc/sifuidialog.h Tue Aug 31 15:21:33 2010 +0300 @@ -0,0 +1,109 @@ +/* +* Copyright (c) 2010 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: Device dialog plugin for SIF UI dialogs. +* +*/ + +#ifndef SIFUIDIALOG_H +#define SIFUIDIALOG_H + +#include // HbDialog +#include // HbDeviceDialogInterface +#include "sifuidialogdefinitions.h" // enum SifUiDeviceDialogType +#include // QTM namespace macros + +class HbTranslator; +class SifUiDialogTitleWidget; +class SifUiDialogContentWidget; +class HbIndicator; + +QTM_BEGIN_NAMESPACE +class QValueSpaceSubscriber; +QTM_END_NAMESPACE + + +/** + * SW Install notification widget class. + */ +class SifUiDialog : public HbDialog, public HbDeviceDialogInterface +{ + Q_OBJECT + +public: // constructor and destructor + SifUiDialog(const QVariantMap ¶meters); + virtual ~SifUiDialog(); + +public: // new functions + static SifUiDeviceDialogType dialogType(const QVariantMap ¶meters); + +public: // from HbDeviceDialogInterface + bool setDeviceDialogParameters(const QVariantMap ¶meters); + int deviceDialogError() const; + void closeDeviceDialog(bool byClient); + HbDialog *deviceDialogWidget() const; + +signals: + void deviceDialogClosed(); + void deviceDialogData(const QVariantMap &data); + +protected: // from HbPopup (via HbDialog) + void hideEvent(QHideEvent *event); + void showEvent(QShowEvent *event); + +private: // new functions + bool isInstallIndicatorActive(); + bool constructDialog(const QVariantMap ¶meters); + bool updateFromParameters(const QVariantMap ¶meters); + void updateButtons(const QVariantMap ¶meters); + void prepareForErrorDetails(const QVariantMap ¶meters); + bool displayAdditionalQuery(const QVariantMap ¶meters); + bool displayGrantCapabilitiesQuery(const QVariantMap ¶meters); + bool displaySelectLanguageQuery(const QVariantMap ¶meters); + bool displaySelectOptionsQuery(const QVariantMap ¶meters); + void sendResult(SifUiDeviceDialogReturnValue value); + +private slots: + void handleInstallAccepted(); + void handleInstallCancelled(); + void handleMemorySelectionChanged(const QChar &driveLetter); + void handleHidePressed(); + void handleShowInstalled(); + void handleErrorDetails(); + void handleCapabilitiesGranted(); + void handleAdditionalDialogClosed(); + void handleLanguageSelected(int index); + void handleOptionsDialogClosed(int code); + +private: + Q_DISABLE_COPY(SifUiDialog) + + HbTranslator *mCommonTranslator; + HbTranslator *mSifUITranslator; + int mLastDialogError; + bool mShowEventReceived; + SifUiDeviceDialogType mDialogType; + SifUiDialogTitleWidget *mTitle; + SifUiDialogContentWidget *mContent; + QString mErrorDetails; + int mErrorCode; + int mExtendedErrorCode; + HbAction *mPrimaryAction; + HbAction *mSecondaryAction; + QVariantMap mResultMap; + HbIndicator *mIndicator; + + QTM_PREPEND_NAMESPACE(QValueSpaceSubscriber) *mSubscriber; +}; + +#endif // SIFUIDIALOG_H