homescreenapp/hsdomainmodel/inc/hsconfiguration.h
changeset 62 341166945d65
parent 55 03646e8da489
child 63 52b0f64eeb51
child 77 4b195f3bea29
equal deleted inserted replaced
57:2e2dc3d30ca8 62:341166945d65
     1 /*
     1 /*
     2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
    17 
    17 
    18 #ifndef HSCONFIGURATION_H
    18 #ifndef HSCONFIGURATION_H
    19 #define HSCONFIGURATION_H
    19 #define HSCONFIGURATION_H
    20 
    20 
    21 #include <QObject>
    21 #include <QObject>
       
    22 #include <QVariant>
    22 
    23 
    23 #include <HbFeedback>
    24 #include <HbFeedback>
    24 #include <HbDeviceProfile>
       
    25 
    25 
    26 #include "hsdomainmodel_global.h"
    26 #include "hsdomainmodel_global.h"
    27 
    27 
    28 class HsGeneralConfiguration;
    28 #include "hstest_global.h"
    29 class HsFeedbackConfiguration;
    29 HOMESCREEN_TEST_CLASS(TestHsDomainModel)
    30 class HsSnapConfiguration;
    30 
    31 class HsDatabase;
    31 #define HSCONFIGURATION_GET(getter) \
    32 class HsConfiguration;
    32     HsConfiguration::instance()->getter()
    33 
    33 #define HSCONFIGURATION_SET(setter, value) \
    34 class HSDOMAINMODEL_EXPORT HsConfiguration
    34     HsConfiguration::instance()->setter(value)
       
    35 
       
    36 class HSDOMAINMODEL_EXPORT HsConfiguration : public QObject
    35 {
    37 {
       
    38     Q_OBJECT
       
    39     Q_PROPERTY(int bounceEffect READ bounceEffect WRITE setBounceEffect)
       
    40     Q_PROPERTY(int widgetTapAndHoldTimeout READ widgetTapAndHoldTimeout WRITE setWidgetTapAndHoldTimeout)
       
    41     Q_PROPERTY(int sceneTapAndHoldTimeout READ sceneTapAndHoldTimeout WRITE setSceneTapAndHoldTimeout)
       
    42     Q_PROPERTY(int pageChangeAnimationDuration READ pageChangeAnimationDuration WRITE setPageChangeAnimationDuration)
       
    43     Q_PROPERTY(int pageChangeZoneAnimationDuration READ pageChangeZoneAnimationDuration WRITE setPageChangeZoneAnimationDuration)
       
    44     Q_PROPERTY(int pageChangeZoneReverseAnimationDuration READ pageChangeZoneReverseAnimationDuration WRITE setPageChangeZoneReverseAnimationDuration)
       
    45     Q_PROPERTY(int pageRemovedAnimationDuration READ pageRemovedAnimationDuration WRITE setPageRemovedAnimationDuration)
       
    46     Q_PROPERTY(int newPageAddedAnimationDuration READ newPageAddedAnimationDuration WRITE setNewPageAddedAnimationDuration)
       
    47     Q_PROPERTY(int widgetDragEffectDuration READ widgetDragEffectDuration WRITE setWidgetDragEffectDuration)
       
    48     Q_PROPERTY(int widgetDropEffectDuration READ widgetDropEffectDuration WRITE setWidgetDropEffectDuration)
       
    49     Q_PROPERTY(int defaultPageId READ defaultPageId WRITE setDefaultPageId)
       
    50     Q_PROPERTY(int maximumPageCount READ maximumPageCount WRITE setMaximumPageCount)    
       
    51     Q_PROPERTY(bool isShortcutLabelVisible READ isShortcutLabelVisible WRITE setShortcutLabelVisible)
       
    52     Q_PROPERTY(qreal bounceFeedbackEffectDistance READ bounceFeedbackEffectDistance WRITE setBounceFeedbackEffectDistance)
       
    53     Q_PROPERTY(qreal pageChangePanDistanceInPixels READ pageChangePanDistanceInPixels WRITE setPageChangePanDistanceInPixels)
       
    54     Q_PROPERTY(qreal tapAndHoldDistance READ tapAndHoldDistance WRITE setTapAndHoldDistance)
       
    55     Q_PROPERTY(qreal pageChangeZoneWidth READ pageChangeZoneWidth WRITE setPageChangeZoneWidth)
       
    56     Q_PROPERTY(qreal pageIndicatorSpacing READ pageIndicatorSpacing WRITE setPageIndicatorSpacing)
       
    57     Q_PROPERTY(qreal maximumWidgetHeight READ maximumWidgetHeight WRITE setMaximumWidgetHeight)
       
    58     Q_PROPERTY(qreal maximumWidgetWidth READ maximumWidgetWidth WRITE setMaximumWidgetWidth)
       
    59     Q_PROPERTY(qreal minimumWidgetHeight READ minimumWidgetHeight WRITE setMinimumWidgetHeight)
       
    60     Q_PROPERTY(qreal minimumWidgetWidth READ minimumWidgetWidth WRITE setMinimumWidgetWidth)
       
    61     Q_PROPERTY(qreal pageChangePanDistance READ pageChangePanDistance WRITE setPageChangePanDistance)
       
    62     Q_PROPERTY(HbFeedback::InstantEffect pageChangeFeedbackEffect READ pageChangeFeedbackEffect WRITE setPageChangeFeedbackEffect)
       
    63     Q_PROPERTY(HbFeedback::InstantEffect widgetPickFeedbackEffect READ widgetPickFeedbackEffect WRITE setWidgetPickFeedbackEffect)
       
    64     Q_PROPERTY(HbFeedback::InstantEffect widgetDropFeedbackEffect READ widgetDropFeedbackEffect WRITE setWidgetDropFeedbackEffect)
       
    65     Q_PROPERTY(HbFeedback::InstantEffect widgetRepositionFeedbackEffect READ widgetRepositionFeedbackEffect WRITE setWidgetRepositionFeedbackEffect)
       
    66     Q_PROPERTY(HbFeedback::InstantEffect widgetOverTrashbinFeedbackEffect READ widgetOverTrashbinFeedbackEffect WRITE setWidgetOverTrashbinFeedbackEffect)
       
    67     Q_PROPERTY(HbFeedback::InstantEffect widgetDropToTrashbinFeedbackEffect READ widgetDropToTrashbinFeedbackEffect WRITE setWidgetDropToTrashbinFeedbackEffect)
       
    68     Q_PROPERTY(HbFeedback::InstantEffect shortcutWidgetTapFeedbackEffect READ shortcutWidgetTapFeedbackEffect WRITE setShortcutWidgetTapFeedbackEffect)
       
    69     Q_PROPERTY(HbFeedback::InstantEffect widgetMoveBlockedFeedbackEffect READ widgetMoveBlockedFeedbackEffect WRITE setWidgetMoveBlockedFeedbackEffect)
       
    70     Q_PROPERTY(HbFeedback::InstantEffect clockWidgetTapFeedbackEffect READ clockWidgetTapFeedbackEffect WRITE setClockWidgetTapFeedbackEffect)
       
    71     Q_PROPERTY(HbFeedback::InstantEffect widgetSnappingFeedbackEffect READ widgetSnappingFeedbackEffect WRITE setWidgetSnappingFeedbackEffect)
       
    72     Q_PROPERTY(bool isSnapEnabled READ isSnapEnabled WRITE setSnapEnabled)
       
    73     Q_PROPERTY(int snapTimeout READ snapTimeout WRITE setSnapTimeout)
       
    74     Q_PROPERTY(qreal snapForce READ snapForce WRITE setSnapForce)
       
    75     Q_PROPERTY(qreal snapGap READ snapGap WRITE setSnapGap)
       
    76     Q_PROPERTY(qreal snapBorderGap READ snapBorderGap WRITE setSnapBorderGap)
       
    77     Q_PROPERTY(int snapLineFadeInDuration READ snapLineFadeInDuration WRITE setSnapLineFadeInDuration)
       
    78     Q_PROPERTY(int snapLineFadeOutDuration READ snapLineFadeOutDuration WRITE setSnapLineFadeOutDuration)
       
    79     Q_PROPERTY(bool isSnapEffectsEnabled READ isSnapEffectsEnabled WRITE setSnapEffectsEnabled)
       
    80     Q_PROPERTY(SceneType sceneType READ sceneType WRITE setSceneType)
       
    81 
       
    82     Q_ENUMS(SceneType)
       
    83 
       
    84 public:
       
    85     HsConfiguration(QObject *parent = 0);
       
    86     ~HsConfiguration();
       
    87 
       
    88     enum SceneType
       
    89     {
       
    90         PageWallpapers,
       
    91         SceneWallpaper
       
    92     };
       
    93 
       
    94     int bounceEffect() const { return mBounceEffect; }
       
    95     void setBounceEffect(int effect) { mBounceEffect = effect; }
       
    96     int widgetTapAndHoldTimeout() const { return mWidgetTapAndHoldTimeout; }
       
    97     void setWidgetTapAndHoldTimeout(int timeout) { mWidgetTapAndHoldTimeout = timeout; }
       
    98     int sceneTapAndHoldTimeout() const { return mSceneTapAndHoldTimeout; }
       
    99     void setSceneTapAndHoldTimeout(int timeout) { mSceneTapAndHoldTimeout = timeout; }
       
   100     int pageChangeAnimationDuration() const { return mPageChangeAnimationDuration; }
       
   101     void setPageChangeAnimationDuration(int duration) { mPageChangeAnimationDuration = duration; }    
       
   102     int pageChangeZoneAnimationDuration() const { return mPageChangeZoneAnimationDuration; }
       
   103     void setPageChangeZoneAnimationDuration(int duration) { mPageChangeZoneAnimationDuration = duration; }    
       
   104     int pageChangeZoneReverseAnimationDuration() const { return mPageChangeZoneReverseAnimationDuration; }
       
   105     void setPageChangeZoneReverseAnimationDuration(int duration) { mPageChangeZoneReverseAnimationDuration = duration; }
       
   106     int pageRemovedAnimationDuration() const { return mPageRemovedAnimationDuration; }
       
   107     void setPageRemovedAnimationDuration(int duration) { mPageRemovedAnimationDuration = duration; }    
       
   108     int newPageAddedAnimationDuration() const { return mNewPageAddedAnimationDuration; }
       
   109     void setNewPageAddedAnimationDuration(int duration) { mNewPageAddedAnimationDuration = duration; }  
       
   110     int widgetDragEffectDuration() const { return mWidgetDragEffectDuration; }
       
   111     void setWidgetDragEffectDuration(int duration) { mWidgetDragEffectDuration = duration; }  
       
   112     int widgetDropEffectDuration() const { return mWidgetDropEffectDuration; }
       
   113     void setWidgetDropEffectDuration(int duration) { mWidgetDropEffectDuration = duration; }  
       
   114     int defaultPageId() const { return mDefaultPageId; }
       
   115     void setDefaultPageId(int id) { mDefaultPageId = id; }
       
   116     int maximumPageCount() const { return mMaximumPageCount; }
       
   117     void setMaximumPageCount(int count) { mMaximumPageCount = count; }  
       
   118     bool isShortcutLabelVisible() const { return mIsShortcutLabelVisible; }
       
   119     void setShortcutLabelVisible(bool visible) { mIsShortcutLabelVisible = visible; }  
       
   120     qreal bounceFeedbackEffectDistance() const { return mBounceFeedbackEffectDistance; }
       
   121     void setBounceFeedbackEffectDistance(qreal distance) { mBounceFeedbackEffectDistance = distance; }  
       
   122     qreal pageChangePanDistanceInPixels() const { return mPageChangePanDistanceInPixels; }
       
   123     void setPageChangePanDistanceInPixels(qreal distance) { mPageChangePanDistanceInPixels = distance; }  
       
   124     qreal tapAndHoldDistance() const { return mTapAndHoldDistance; }
       
   125     void setTapAndHoldDistance(qreal distance) { mTapAndHoldDistance = distance; }  
       
   126     qreal pageChangeZoneWidth() const { return mPageChangeZoneWidth; }
       
   127     void setPageChangeZoneWidth(qreal width) { mPageChangeZoneWidth = width; }  
       
   128     qreal pageIndicatorSpacing() const { return mPageIndicatorSpacing; }
       
   129     void setPageIndicatorSpacing(qreal spacing) { mPageIndicatorSpacing = spacing; }
       
   130     qreal maximumWidgetHeight() const { return mMaximumWidgetHeight; }
       
   131     void setMaximumWidgetHeight(qreal height) { mMaximumWidgetHeight = height; }  
       
   132     qreal maximumWidgetWidth() const { return mMaximumWidgetWidth; }
       
   133     void setMaximumWidgetWidth(qreal width) { mMaximumWidgetWidth = width; }  
       
   134     qreal minimumWidgetHeight() const { return mMinimumWidgetHeight; }
       
   135     void setMinimumWidgetHeight(qreal height) { mMinimumWidgetHeight = height; }
       
   136     qreal minimumWidgetWidth() const { return mMinimumWidgetWidth; }
       
   137     void setMinimumWidgetWidth(qreal width) { mMinimumWidgetWidth = width; }  
       
   138     qreal pageChangePanDistance() const { return mPageChangePanDistance; }
       
   139     void setPageChangePanDistance(qreal distance) { mPageChangePanDistance = distance; }  
       
   140     HbFeedback::InstantEffect pageChangeFeedbackEffect() const { return mPageChangeFeedbackEffect; }
       
   141     void setPageChangeFeedbackEffect(HbFeedback::InstantEffect effect) { mPageChangeFeedbackEffect = effect; }   
       
   142     HbFeedback::InstantEffect widgetPickFeedbackEffect() const { return mWidgetPickFeedbackEffect; }
       
   143     void setWidgetPickFeedbackEffect(HbFeedback::InstantEffect effect) { mWidgetPickFeedbackEffect = effect; }  
       
   144     HbFeedback::InstantEffect widgetDropFeedbackEffect() const { return mWidgetDropFeedbackEffect; }
       
   145     void setWidgetDropFeedbackEffect(HbFeedback::InstantEffect effect) { mWidgetDropFeedbackEffect = effect; }  
       
   146     HbFeedback::InstantEffect widgetRepositionFeedbackEffect() const { return mWidgetRepositionFeedbackEffect; }
       
   147     void setWidgetRepositionFeedbackEffect(HbFeedback::InstantEffect effect) { mWidgetRepositionFeedbackEffect = effect; } 
       
   148     HbFeedback::InstantEffect widgetOverTrashbinFeedbackEffect() const { return mWidgetOverTrashbinFeedbackEffect; }
       
   149     void setWidgetOverTrashbinFeedbackEffect(HbFeedback::InstantEffect effect) { mWidgetOverTrashbinFeedbackEffect = effect; } 
       
   150     HbFeedback::InstantEffect widgetDropToTrashbinFeedbackEffect() const { return mWidgetDropToTrashbinFeedbackEffect; }
       
   151     void setWidgetDropToTrashbinFeedbackEffect(HbFeedback::InstantEffect effect) { mWidgetDropToTrashbinFeedbackEffect = effect; } 
       
   152     HbFeedback::InstantEffect shortcutWidgetTapFeedbackEffect() const { return mShortcutWidgetTapFeedbackEffect; }
       
   153     void setShortcutWidgetTapFeedbackEffect(HbFeedback::InstantEffect effect) { mShortcutWidgetTapFeedbackEffect = effect; } 
       
   154     HbFeedback::InstantEffect widgetMoveBlockedFeedbackEffect() const { return mWidgetMoveBlockedFeedbackEffect; }
       
   155     void setWidgetMoveBlockedFeedbackEffect(HbFeedback::InstantEffect effect) { mWidgetMoveBlockedFeedbackEffect = effect; } 
       
   156     HbFeedback::InstantEffect clockWidgetTapFeedbackEffect() const { return mClockWidgetTapFeedbackEffect; }
       
   157     void setClockWidgetTapFeedbackEffect(HbFeedback::InstantEffect effect) { mClockWidgetTapFeedbackEffect = effect; } 
       
   158     HbFeedback::InstantEffect widgetSnappingFeedbackEffect() const { return mWidgetSnappingFeedbackEffect; }
       
   159     void setWidgetSnappingFeedbackEffect(HbFeedback::InstantEffect effect) { mWidgetSnappingFeedbackEffect = effect; }
       
   160     bool isSnapEnabled() const { return mIsSnapEnabled; }
       
   161     void setSnapEnabled(bool enabled) { mIsSnapEnabled = enabled; }
       
   162     int snapTimeout() const { return mSnapTimeout; }
       
   163     void setSnapTimeout(int timeout) { mSnapTimeout = timeout; }
       
   164     qreal snapForce() const { return mSnapForce; }
       
   165     void setSnapForce(qreal force) { mSnapForce = force; }  
       
   166     qreal snapGap() const { return mSnapGap; }
       
   167     void setSnapGap(qreal gap) { mSnapGap = gap; }  
       
   168     qreal snapBorderGap() const { return mSnapBorderGap; }
       
   169     void setSnapBorderGap(qreal gap) { mSnapBorderGap = gap; }
       
   170     int snapLineFadeInDuration() const { return mSnapLineFadeInDuration; }
       
   171     void setSnapLineFadeInDuration(int duration) { mSnapLineFadeInDuration = duration; }
       
   172     int snapLineFadeOutDuration() const { return mSnapLineFadeOutDuration; }
       
   173     void setSnapLineFadeOutDuration(int duration) { mSnapLineFadeOutDuration = duration; }
       
   174     bool isSnapEffectsEnabled() const { return mIsSnapEffectsEnabled; }
       
   175     void setSnapEffectsEnabled(bool enabled) { mIsSnapEffectsEnabled = enabled; }
       
   176     SceneType sceneType() const { return mSceneType; }
       
   177     void setSceneType(SceneType type) { mSceneType = type; }
       
   178      
       
   179     QSizeF minimumWidgetSizeInUnits() const;
       
   180     QSizeF maximumWidgetSizeInUnits() const;
       
   181     QSizeF minimumWidgetSizeInPixels() const;
       
   182     QSizeF maximumWidgetSizeInPixels() const;
    36     
   183     
    37 public:
   184     bool load();
    38     static void loadConfiguration();
   185     bool importFromFile(const QString &path);
    39 
   186     bool exportToFile(const QString &path);
    40     static inline int bounceEffect() { return mBounceEffect; };
   187         
    41     static inline qreal tapAndHoldDistance() { return mTapAndHoldDistance; };
   188     static HsConfiguration *instance();
    42     static inline int widgetTapAndHoldTimeout() { return mWidgetTapAndHoldTimeout; };
   189     static HsConfiguration *takeInstance();
    43     static inline int sceneTapAndHoldTimeout() { return mSceneTapAndHoldTimeout; };
   190     static void setInstance(HsConfiguration *instance);
    44     static inline qreal pageChangeZoneWidth() { return mPageChangeZoneWidth; };
       
    45     static inline qreal pageIndicatorSpacing() { return mPageIndicatorSpacing; };
       
    46     static inline int pageChangeAnimationDuration() { return mPageChangeAnimationDuration; };
       
    47     static inline int pageChangeZoneAnimationDuration() { return mPageChangeZoneAnimationDuration; };
       
    48     static inline int pageChangeZoneReverseAnimationDuration() { return mPageChangeZoneReverseAnimationDuration; };
       
    49     static inline int pageRemovedAnimationDuration() { return mPageRemovedAnimationDuration; };
       
    50     static inline int newPageAddedAnimationDuration() { return mNewPageAddedAnimationDuration; };
       
    51     static inline int widgetDragEffectDuration() { return mWidgetDragEffectDuration; };
       
    52     static inline int widgetDropEffectDuration() { return mWidgetDropEffectDuration; };
       
    53     static inline int bounceFeedbackEffectDistance() { return mBounceFeedbackEffectDistance; };
       
    54     static inline int defaultPageId() { return mDefaultPageId; };
       
    55     static inline int maximumPageCount() { return mMaximumPageCount; };
       
    56     static inline qreal maximumWidgetHeight() { return mMaximumWidgetHeight; };
       
    57     static inline qreal maximumWidgetWidth() { return mMaximumWidgetWidth; };
       
    58     static inline qreal minimumWidgetHeight() { return mMinimumWidgetHeight; };
       
    59     static inline qreal minimumWidgetWidth() { return mMinimumWidgetWidth; };
       
    60     static inline bool shortcutLabelsVisible() { return mShortcutLabelsVisible; };
       
    61     static inline qreal pageChangePanDistance() { return mPageChangePanDistance; };
       
    62     static inline int pageChangePanDistanceInPixels() { return mPageChangePanDistanceInPixels; };
       
    63 
       
    64     static inline HbFeedback::InstantEffect pageChangeFeedbackType() { return mPageChangeFeedbackType; };
       
    65     static inline HbFeedback::InstantEffect widgetPickFeedbackType() { return mWidgetPickFeedbackType; };
       
    66     static inline HbFeedback::InstantEffect widgetDropFeedbackType() { return mWidgetDropFeedbackType; };
       
    67     static inline HbFeedback::InstantEffect widgetRepositionFeedbackType() { return mWidgetRepositionFeedbackType; };
       
    68     static inline HbFeedback::InstantEffect widgetOverTrashbinFeedbackType() { return mWidgetOverTrashbinFeedbackType; };
       
    69     static inline HbFeedback::InstantEffect widgetDropToTrashbinFeedbackType() { return mWidgetDropToTrashbinFeedbackType; };
       
    70     static inline HbFeedback::InstantEffect shortcutWidgetTapFeedbackType() { return mShortcutWidgetTapFeedbackType; };
       
    71     static inline HbFeedback::InstantEffect widgetMoveBlockedFeedbackType() { return mWidgetMoveBlockedFeedbackType; };
       
    72     static inline HbFeedback::InstantEffect clockWidgetTapFeedbackType() { return mClockWidgetTapFeedbackType; };
       
    73     static inline HbFeedback::InstantEffect widgetSnappingFeedbackType() { return mWidgetSnappingFeedbackType; };
       
    74 
       
    75     static inline bool snapEnabled() { return mSnapEnabled; };
       
    76     static inline qreal snapForce() { return mSnapForce; };
       
    77     static inline qreal snapGap() { return mSnapGap; };
       
    78     static inline qreal snapBorderGap() { return mSnapBorderGap; };
       
    79     static inline int snapTimeout() { return mSnapTimeout; };
       
    80 
       
    81     // setters should be removed before code is released to SF
       
    82     static void setBounceEffect(int bounceEffect) { mBounceEffect = bounceEffect; };
       
    83     static void setTapAndHoldDistance(qreal tapAndHoldDistance) { mTapAndHoldDistance = tapAndHoldDistance; };
       
    84     static void setWidgetTapAndHoldTimeout(int tapAndHoldTimeout) { mWidgetTapAndHoldTimeout = tapAndHoldTimeout; };
       
    85     static void setSceneTapAndHoldTimeout(int tapAndHoldTimeout) { mSceneTapAndHoldTimeout = tapAndHoldTimeout; };
       
    86     static void setPageChangeZoneWidth(qreal pageChangeZoneWidth) { mPageChangeZoneWidth = pageChangeZoneWidth; };
       
    87     static void setPageIndicatorSpacing(qreal pageIndicatorSpacing) { mPageIndicatorSpacing = pageIndicatorSpacing; };
       
    88     static void setPageChangeAnimationDuration(int pageChangeAnimationDuration) { mPageChangeAnimationDuration = pageChangeAnimationDuration; };
       
    89     static void setPageChangeZoneAnimationDuration(int pageChangeZoneAnimationDuration) { mPageChangeZoneAnimationDuration = pageChangeZoneAnimationDuration; };
       
    90     static void setPageChangeZoneReverseAnimationDuration(int pageChangeZoneReverseAnimationDuration) { mPageChangeZoneReverseAnimationDuration = pageChangeZoneReverseAnimationDuration; };
       
    91     static void setPageRemovedAnimationDuration(int pageRemovedAnimationDuration) { mPageRemovedAnimationDuration = pageRemovedAnimationDuration; };
       
    92     static void setNewPageAddedAnimationDuration(int newPageAddedAnimationDuration) { mNewPageAddedAnimationDuration = newPageAddedAnimationDuration; };
       
    93     static void setWidgetDragEffectDuration(int widgetDragEffectDuration) { mWidgetDragEffectDuration = widgetDragEffectDuration; };
       
    94     static void setWidgetDropEffectDuration(int widgetDropEffectDuration) { mWidgetDropEffectDuration = widgetDropEffectDuration; };
       
    95     static void setBounceFeedbackEffectDistance(int bounceFeedbackEffectDistance) { mBounceFeedbackEffectDistance = bounceFeedbackEffectDistance; };
       
    96     static void setDefaultPageId(int defaultPageId) { mDefaultPageId = defaultPageId;  };
       
    97     static void setMaximumPageCount(int maximumPageCount) { mMaximumPageCount = maximumPageCount; };
       
    98     static void setMaximumWidgetHeight(qreal maximumWidgetHeight) { mMaximumWidgetHeight = maximumWidgetHeight; };
       
    99     static void setMaximumWidgetWidth(qreal maximumWidgetWidth) { mMaximumWidgetWidth = maximumWidgetWidth; };
       
   100     static void setMinimumWidgetHeight(qreal minimumWidgetHeight) { mMinimumWidgetHeight = minimumWidgetHeight; };
       
   101     static void setMinimumWidgetWidth(qreal minimumWidgetWidth) { mMinimumWidgetWidth = minimumWidgetWidth; };
       
   102     static void setShortcutLabelsVisible(bool shortcutLabelsVisible) { mShortcutLabelsVisible = shortcutLabelsVisible; };
       
   103     static void setPageChangePanDistance(qreal pageChangePanDistance) { mPageChangePanDistance = pageChangePanDistance; 
       
   104                                                                         mPageChangePanDistanceInPixels = pageChangePanDistance * HbDeviceProfile::current().unitValue(); };
       
   105 
       
   106     static void setPageChangeFeedbackType(HbFeedback::InstantEffect pageChangeFeedbackType ) { mPageChangeFeedbackType = pageChangeFeedbackType; };
       
   107     static void setWidgetPickFeedbackType(HbFeedback::InstantEffect widgetPickFeedbackType ) { mWidgetPickFeedbackType = widgetPickFeedbackType; };
       
   108     static void setWidgetDropFeedbackType(HbFeedback::InstantEffect widgetDropFeedbackType ) { mWidgetDropFeedbackType = widgetDropFeedbackType; };
       
   109     static void setWidgetRepositionFeedbackType(HbFeedback::InstantEffect widgetRepositionFeedbackType ) { mWidgetRepositionFeedbackType = widgetRepositionFeedbackType; };
       
   110     static void setWidgetOverTrashbinFeedbackType(HbFeedback::InstantEffect widgetOverTrashbinFeedbackType ) { mWidgetOverTrashbinFeedbackType = widgetOverTrashbinFeedbackType; };
       
   111     static void setWidgetDropToTrashbinFeedbackType(HbFeedback::InstantEffect widgetDropToTrashbinFeedbackType ) { mWidgetDropToTrashbinFeedbackType = widgetDropToTrashbinFeedbackType; };
       
   112     static void setShortcutWidgetTapFeedbackType(HbFeedback::InstantEffect shortcutWidgetTapFeedbackType ) { mShortcutWidgetTapFeedbackType = shortcutWidgetTapFeedbackType; };
       
   113     static void setWidgetMoveBlockedFeedbackType(HbFeedback::InstantEffect widgetMoveBlockedFeedbackType ) { mWidgetMoveBlockedFeedbackType = widgetMoveBlockedFeedbackType; };
       
   114     static void setClockWidgetTapFeedbackType(HbFeedback::InstantEffect clockWidgetTapFeedbackType ) { mClockWidgetTapFeedbackType = clockWidgetTapFeedbackType; };
       
   115     static void setWidgetSnappingFeedbackType(HbFeedback::InstantEffect widgetSnappingFeedbackType ) { mWidgetSnappingFeedbackType = widgetSnappingFeedbackType; };
       
   116 
       
   117     static void setSnapEnabled(bool snapEnabled) { mSnapEnabled = snapEnabled; };
       
   118     static void setSnapForce(qreal snapForce) { mSnapForce = snapForce; };
       
   119     static void setSnapGap(qreal snapGap) { mSnapGap = snapGap; };
       
   120     static void setSnapBorderGap(qreal snapBorderGap) { mSnapBorderGap = snapBorderGap; };
       
   121     static void setSnapTimeout(int snapTimeout) { mSnapTimeout = snapTimeout; };
       
   122 
   191 
   123 private:
   192 private:
   124     static int mBounceEffect;		
   193     Q_DISABLE_COPY(HsConfiguration)
   125 	static qreal mTapAndHoldDistance;
   194     
   126 	static int mWidgetTapAndHoldTimeout;
   195 private:
   127 	static int mSceneTapAndHoldTimeout;
   196     int mBounceEffect;
   128     static qreal mPageChangeZoneWidth;
   197     int mWidgetTapAndHoldTimeout;
   129 	static qreal mPageIndicatorSpacing;
   198     int mSceneTapAndHoldTimeout;
   130     static int mPageChangeAnimationDuration;
   199     int mPageChangeAnimationDuration;
   131 	static int mPageChangeZoneAnimationDuration;
   200     int mPageChangeZoneAnimationDuration;
   132     static int mPageChangeZoneReverseAnimationDuration;
   201     int mPageChangeZoneReverseAnimationDuration;
   133 	static int mPageRemovedAnimationDuration;
   202     int mPageRemovedAnimationDuration;
   134 	static int mNewPageAddedAnimationDuration;
   203     int mNewPageAddedAnimationDuration;
   135 	static int mWidgetDragEffectDuration;
   204     int mWidgetDragEffectDuration;
   136 	static int mWidgetDropEffectDuration;
   205     int mWidgetDropEffectDuration;
   137 	static int mBounceFeedbackEffectDistance;
   206     int mDefaultPageId;
   138     static int mDefaultPageId;
   207     int mMaximumPageCount;
   139     static int mMaximumPageCount;
   208     bool mIsShortcutLabelVisible;
   140     static qreal mMaximumWidgetHeight;
   209     qreal mBounceFeedbackEffectDistance;
   141     static qreal mMaximumWidgetWidth;
   210     qreal mPageChangePanDistanceInPixels;
   142     static qreal mMinimumWidgetHeight;
   211     qreal mTapAndHoldDistance;
   143     static qreal mMinimumWidgetWidth;
   212     qreal mPageChangeZoneWidth;
   144     static bool mShortcutLabelsVisible;
   213     qreal mPageIndicatorSpacing;
   145     static qreal mPageChangePanDistance;
   214     qreal mMaximumWidgetHeight;
   146     static int mPageChangePanDistanceInPixels;
   215     qreal mMaximumWidgetWidth;
   147 
   216     qreal mMinimumWidgetHeight;
   148     static HbFeedback::InstantEffect mPageChangeFeedbackType;
   217     qreal mMinimumWidgetWidth;
   149 	static HbFeedback::InstantEffect mWidgetPickFeedbackType;
   218     qreal mPageChangePanDistance;
   150 	static HbFeedback::InstantEffect mWidgetDropFeedbackType;
   219     HbFeedback::InstantEffect mPageChangeFeedbackEffect;
   151 	static HbFeedback::InstantEffect mWidgetRepositionFeedbackType;
   220     HbFeedback::InstantEffect mWidgetPickFeedbackEffect;
   152 	static HbFeedback::InstantEffect mWidgetOverTrashbinFeedbackType;
   221     HbFeedback::InstantEffect mWidgetDropFeedbackEffect;
   153 	static HbFeedback::InstantEffect mWidgetDropToTrashbinFeedbackType;
   222     HbFeedback::InstantEffect mWidgetRepositionFeedbackEffect;
   154 	static HbFeedback::InstantEffect mShortcutWidgetTapFeedbackType;
   223     HbFeedback::InstantEffect mWidgetOverTrashbinFeedbackEffect;
   155 	static HbFeedback::InstantEffect mWidgetMoveBlockedFeedbackType;
   224     HbFeedback::InstantEffect mWidgetDropToTrashbinFeedbackEffect;
   156 	static HbFeedback::InstantEffect mClockWidgetTapFeedbackType;
   225     HbFeedback::InstantEffect mShortcutWidgetTapFeedbackEffect;
   157 	static HbFeedback::InstantEffect mWidgetSnappingFeedbackType;
   226     HbFeedback::InstantEffect mWidgetMoveBlockedFeedbackEffect;
   158 
   227     HbFeedback::InstantEffect mClockWidgetTapFeedbackEffect;
   159     static bool mSnapEnabled;
   228     HbFeedback::InstantEffect mWidgetSnappingFeedbackEffect;
   160     static qreal mSnapForce;
   229     bool mIsSnapEnabled;
   161     static qreal mSnapGap;
   230     int mSnapTimeout;
   162     static qreal mSnapBorderGap;
   231     qreal mSnapForce;
   163     static int mSnapTimeout;
   232     qreal mSnapGap;
       
   233     qreal mSnapBorderGap;
       
   234     int mSnapLineFadeInDuration;
       
   235     int mSnapLineFadeOutDuration;
       
   236     bool mIsSnapEffectsEnabled;
       
   237     SceneType mSceneType;
       
   238 
       
   239     static HsConfiguration *mInstance;
       
   240 
       
   241     HOMESCREEN_TEST_FRIEND_CLASS(TestHsDomainModel)
   164 };
   242 };
   165 
   243 
   166 #endif // HSCONFIGURATION_H
   244 #endif // HSCONFIGURATION_H