|
1 /* |
|
2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * |
|
16 */ |
|
17 #include "hsconfiguration.h" |
|
18 #include "hsdomainmodeldatastructures.h" |
|
19 #include "hsdatabase.h" |
|
20 |
|
21 #include <HbInstantFeedback> |
|
22 |
|
23 /*! |
|
24 Loads configuration data from database. |
|
25 */ |
|
26 void HsConfiguration::loadConfiguration() |
|
27 { |
|
28 HsDatabase *db = HsDatabase::instance(); |
|
29 |
|
30 HsGeneralConfiguration generalConfiguration; |
|
31 if (db->generalConfiguration(generalConfiguration)) { |
|
32 mBounceEffect = generalConfiguration.bounceEffect; |
|
33 mTapAndHoldDistance = generalConfiguration.tapAndHoldDistance; |
|
34 mWidgetTapAndHoldTimeout = generalConfiguration.widgetTapAndHoldTimeout; |
|
35 mSceneTapAndHoldTimeout = generalConfiguration.sceneTapAndHoldTimeout; |
|
36 mPageChangeZoneWidth = generalConfiguration.pageChangeZoneWidth; |
|
37 mPageIndicatorSpacing = generalConfiguration.pageIndicatorSpacing; |
|
38 mPageChangeAnimationDuration = generalConfiguration.pageChangeAnimationDuration; |
|
39 mPageChangeZoneAnimationDuration = generalConfiguration.pageChangeZoneAnimationDuration; |
|
40 mPageChangeZoneReverseAnimationDuration = generalConfiguration.pageChangeZoneReverseAnimationDuration; |
|
41 mPageRemovedAnimationDuration = generalConfiguration.pageRemovedAnimationDuration; |
|
42 mNewPageAddedAnimationDuration = generalConfiguration.newPageAddedAnimationDuration; |
|
43 mWidgetDragEffectDuration = generalConfiguration.widgetDragEffectDuration; |
|
44 mWidgetDropEffectDuration = generalConfiguration.widgetDropEffectDuration; |
|
45 mBounceFeedbackEffectDistance = generalConfiguration.boundaryFeedbackEffectDistance; |
|
46 } else { |
|
47 Q_ASSERT_X(1, "Configuration", "Homescreen configuration could not be loaded from database"); |
|
48 } |
|
49 |
|
50 HsFeedbackConfiguration feedbackConfiguration; |
|
51 if (db->feedbackConfiguration(feedbackConfiguration)) { |
|
52 mBounceFeedbackEffectDistance = 3; |
|
53 mPageChangeFeedbackType = feedbackConfiguration.pageChangeFeedbackType; |
|
54 mWidgetPickFeedbackType = feedbackConfiguration.widgetPickFeedbackType; |
|
55 mWidgetDropFeedbackType = feedbackConfiguration.widgetDropFeedbackType; |
|
56 mWidgetRepositionFeedbackType = feedbackConfiguration.widgetRepositionFeedbackType; |
|
57 mWidgetOverTrashbinFeedbackType = feedbackConfiguration.widgetOverTrashbinFeedbackType; |
|
58 mWidgetDropToTrashbinFeedbackType = feedbackConfiguration.widgetDropToTrashbinFeedbackType; |
|
59 mShortcutWidgetTapFeedbackType = feedbackConfiguration.shortcutWidgetTapFeedbackType; |
|
60 mWidgetMoveBlockedFeedbackType = feedbackConfiguration.widgetMoveBlockedFeedbackType; |
|
61 mClockWidgetTapFeedbackType = feedbackConfiguration.clockWidgetTapFeedbackType; |
|
62 mWidgetSnappingFeedbackType = feedbackConfiguration.widgetSnappingFeedbackType; |
|
63 } else { |
|
64 Q_ASSERT_X(1, "Configuration", "Homescreen feedback cnfiguration could not be loaded from database"); |
|
65 } |
|
66 |
|
67 HsSnapConfiguration snapConfiguration; |
|
68 if (db->snapConfiguration(snapConfiguration)) { |
|
69 mSnapEnabled = snapConfiguration.snappingEnabled; |
|
70 mSnapForce = snapConfiguration.snapForce; |
|
71 mSnapGap = snapConfiguration.snapGap; |
|
72 mSnapBorderGap = snapConfiguration.borderGap; |
|
73 mSnapTimeout = snapConfiguration.timeout; |
|
74 } else { |
|
75 Q_ASSERT_X(1, "Configuration", "Homescreen snap configuration could not be loaded from database"); |
|
76 } |
|
77 } |
|
78 |
|
79 // static member variables initilized here, these values will be used if fetching from database fails |
|
80 int HsConfiguration::mBounceEffect = 20; |
|
81 int HsConfiguration::mTapAndHoldDistance = 16; |
|
82 int HsConfiguration::mWidgetTapAndHoldTimeout = 500; |
|
83 int HsConfiguration::mSceneTapAndHoldTimeout = 500; |
|
84 int HsConfiguration::mPageChangeZoneWidth = 60; |
|
85 int HsConfiguration::mPageIndicatorSpacing = 8; |
|
86 int HsConfiguration::mPageChangeAnimationDuration = 200; |
|
87 int HsConfiguration::mPageChangeZoneAnimationDuration = 800; |
|
88 int HsConfiguration::mPageChangeZoneReverseAnimationDuration = 200; |
|
89 int HsConfiguration::mPageRemovedAnimationDuration = 200; |
|
90 int HsConfiguration::mNewPageAddedAnimationDuration = 700; |
|
91 int HsConfiguration::mWidgetDragEffectDuration = 200; |
|
92 int HsConfiguration::mWidgetDropEffectDuration = 200; |
|
93 int HsConfiguration::mBounceFeedbackEffectDistance = 3; |
|
94 |
|
95 HbFeedback::InstantEffect HsConfiguration::mPageChangeFeedbackType = HbFeedback::None; |
|
96 HbFeedback::InstantEffect HsConfiguration::mWidgetPickFeedbackType = HbFeedback::None; |
|
97 HbFeedback::InstantEffect HsConfiguration::mWidgetDropFeedbackType = HbFeedback::None; |
|
98 HbFeedback::InstantEffect HsConfiguration::mWidgetRepositionFeedbackType = HbFeedback::None; |
|
99 HbFeedback::InstantEffect HsConfiguration::mWidgetOverTrashbinFeedbackType = HbFeedback::None; |
|
100 HbFeedback::InstantEffect HsConfiguration::mWidgetDropToTrashbinFeedbackType = HbFeedback::None; |
|
101 HbFeedback::InstantEffect HsConfiguration::mShortcutWidgetTapFeedbackType = HbFeedback::None; |
|
102 HbFeedback::InstantEffect HsConfiguration::mWidgetMoveBlockedFeedbackType = HbFeedback::None; |
|
103 HbFeedback::InstantEffect HsConfiguration::mClockWidgetTapFeedbackType = HbFeedback::None; |
|
104 HbFeedback::InstantEffect HsConfiguration::mWidgetSnappingFeedbackType = HbFeedback::None; |
|
105 |
|
106 bool HsConfiguration::mSnapEnabled = false; |
|
107 qreal HsConfiguration::mSnapForce = 0; |
|
108 qreal HsConfiguration::mSnapGap = 0; |
|
109 qreal HsConfiguration::mSnapBorderGap = 0; |
|
110 int HsConfiguration::mSnapTimeout = 0; |
|
111 |