homescreenapp/stateplugins/hshomescreenstateplugin/inc/hswallpaperselectionstate.h
changeset 62 341166945d65
child 90 3ac3aaebaee5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/inc/hswallpaperselectionstate.h	Fri Jun 25 19:19:22 2010 +0300
@@ -0,0 +1,79 @@
+/*
+* 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 HSWALLPAPERSELECTIONSTATE_H
+#define HSWALLPAPERSELECTIONSTATE_H
+
+#include <QState>
+
+#include "hstest_global.h"
+HOMESCREEN_TEST_CLASS(HomeScreenStatePluginTest)
+
+class HsWallpaper;
+class HsSpinnerDialog;
+
+#ifdef Q_OS_SYMBIAN
+class HsImageFetcherClient;
+#else
+class XQAIWGetImageClient;
+#endif
+
+class HsWallpaperSelectionState : public QState
+{
+    Q_OBJECT
+
+public:
+    HsWallpaperSelectionState(QState *parent = 0);
+    ~HsWallpaperSelectionState();
+
+signals:
+    void event_assignImage();
+    void event_error();
+    void event_waitInput();
+    
+private:
+    Q_DISABLE_COPY(HsWallpaperSelectionState)        
+    void setupStates();
+
+private slots:    
+    void action_selectingImage_start();
+    void action_selectingImage_cleanup();
+    void action_assigningImage_showWaitDialog();
+    void action_assigningImage_start();
+    void action_assigningImage_cleanup();
+    void action_assigningImage_hideWaitDialog();
+    void action_errorMessage_show();
+
+    void onFetchCompleted(const QString &imagePath);
+    void onFetchFailed(int errorCode, const QString &errorMessage);
+    void onImageSet();
+    void onImageSetFailed();
+
+private:    
+#ifdef Q_OS_SYMBIAN
+    HsImageFetcherClient *mImageFetcher;
+#else
+    XQAIWGetImageClient *mImageFetcher;
+#endif
+    QString mImagePath;
+    HsWallpaper *mWallpaper;    
+    HsSpinnerDialog *mWaitDialog;
+    
+    HOMESCREEN_TEST_FRIEND_CLASS(HomeScreenStatePluginTest)
+};
+
+#endif // HSWALLPAPERSELECTIONSTATE_H