--- a/homescreenapp/hsdomainmodel/inc/hsdomainmodeldatastructures.h Thu May 27 12:46:08 2010 +0300
+++ b/homescreenapp/hsdomainmodel/inc/hsdomainmodeldatastructures.h Fri Jun 11 13:30:16 2010 +0300
@@ -21,25 +21,19 @@
#include <QRectF>
#include "hsdomainmodel_global.h"
#include <HbFeedback>
+#include <QMetaEnum>
class HSDOMAINMODEL_EXPORT HsSceneData
{
public:
HsSceneData()
- : id(-1), defaultPageId(-1), maximumPageCount(-1),
- maximumWidgetHeight(-1.0), maximumWidgetWidth(-1.0),
- minimumWidgetHeight(-1.0), minimumWidgetWidth(-1.0)
+ : id(-1)
{}
int id;
QString portraitWallpaper;
QString landscapeWallpaper;
- int defaultPageId;
- int maximumPageCount;
- qreal maximumWidgetHeight;
- qreal maximumWidgetWidth;
- qreal minimumWidgetHeight;
- qreal minimumWidgetWidth;
+
};
class HSDOMAINMODEL_EXPORT HsPageData
@@ -70,7 +64,7 @@
{
public:
HsWidgetPresentationData()
- : x(0), y(0), zValue(0),
+ : orientation(Qt::Vertical), x(0), y(0), zValue(0),
widgetId(-1)
{}
@@ -80,7 +74,12 @@
y = pos.y();
}
- QString key;
+ QPointF pos() const
+ {
+ return QPointF(x, y);
+ }
+
+ Qt::Orientation orientation;
qreal x;
qreal y;
qreal zValue;
@@ -91,11 +90,11 @@
{
public:
int bounceEffect; // pixels, bounce effect reservation, half in left side and half in right side of wallpaper
- int tapAndHoldDistance; // pixels
+ qreal tapAndHoldDistance; // pixels
int widgetTapAndHoldTimeout; // ms, duration of long press before action is triggered on widget
int sceneTapAndHoldTimeout; // ms, duration of long press before action is triggered on background
- int pageChangeZoneWidth; // pixels
- int pageIndicatorSpacing; // pixels
+ qreal pageChangeZoneWidth; // pixels
+ qreal pageIndicatorSpacing; // pixels
int pageChangeAnimationDuration; // ms, this is how long page change animation takes
int pageChangeZoneAnimationDuration; // ms, this is how long crawling is done before page is actually changed
int pageChangeZoneReverseAnimationDuration; // ms, animation duration back to starting position when crawling ends before page is changed
@@ -105,128 +104,31 @@
int widgetDropEffectDuration; // ms
int boundaryFeedbackEffectDistance; // pixels, when widget is moved within n pixels from first page right border or
// n pixels from last page's left border, feedback effect is played
+ int defaultPageId; // id of default page (which cannot be removed)
+ int maximumPageCount; // maximum number of pages
+ qreal maximumWidgetHeight; // px
+ qreal maximumWidgetWidth; // px
+ qreal minimumWidgetHeight; // px
+ qreal minimumWidgetWidth; // px
+ bool shortcutLabelsVisible; // display labels under shortcut widgets
+ qreal pageChangePanDistance; // un, amount of pan needed to change page
};
class HSDOMAINMODEL_EXPORT HsFeedbackConfiguration
{
public:
- HbFeedback::InstantEffect feedbackFromString(QString feedback)
+ HbFeedback::InstantEffect feedbackFromString(const QString &feedback)
{
- if (feedback == "Basic") {
- return HbFeedback::Basic;
- }
- else if (feedback == "Sensitive") {
- return HbFeedback::Sensitive;
- }
- else if (feedback == "BasicButton") {
- return HbFeedback::BasicButton;
- }
- else if (feedback == "SensitiveButton") {
- return HbFeedback::SensitiveButton;
- }
- else if (feedback == "BasicKeypad") {
- return HbFeedback::BasicKeypad;
- }
- else if (feedback == "SensitiveKeypad") {
- return HbFeedback::SensitiveKeypad;
- }
- else if (feedback == "BasicSlider") {
- return HbFeedback::BasicSlider;
- }
- else if (feedback == "SensitiveSlider") {
- return HbFeedback::SensitiveSlider;
- }
- else if (feedback == "BasicKeypad") {
- return HbFeedback::BasicKeypad;
- }
- else if (feedback == "BasicSlider") {
- return HbFeedback::BasicSlider;
- }
- else if (feedback == "SensitiveSlider") {
- return HbFeedback::SensitiveSlider;
- }
- else if (feedback == "BasicItem") {
- return HbFeedback::BasicItem;
- }
- else if (feedback == "SensitiveItem") {
- return HbFeedback::SensitiveItem;
- }
- else if (feedback == " ItemScroll") {
- return HbFeedback::ItemScroll;
- }
- else if (feedback == "ItemPick") {
- return HbFeedback::ItemPick;
- }
- else if (feedback == "ItemDrop") {
- return HbFeedback::ItemDrop;
- }
- else if (feedback == "ItemMoveOver") {
- return HbFeedback::ItemMoveOver;
- }
- else if (feedback == "BounceEffect") {
- return HbFeedback::BounceEffect;
- }
- else if (feedback == "Checkbox") {
- return HbFeedback::Checkbox;
- }
- else if (feedback == "MultipleCheckbox") {
- return HbFeedback::MultipleCheckbox;
- }
- else if (feedback == "Editor") {
- return HbFeedback::Editor;
- }
- else if (feedback == "TextSelection") {
- return HbFeedback::TextSelection;
- }
- else if (feedback == "BlankSelection") {
- return HbFeedback::BlankSelection;
- }
- else if (feedback == "LineSelection") {
- return HbFeedback::LineSelection;
- }
- else if (feedback == "EmptyLineSelection") {
- return HbFeedback::EmptyLineSelection;
- }
- else if (feedback == "PopUp") {
- return HbFeedback::PopUp;
- }
- else if (feedback == "PopupOpen") {
- return HbFeedback::PopupOpen;
- }
- else if (feedback == "PopupClose") {
- return HbFeedback::PopupClose;
- }
- else if (feedback == "Flick") {
- return HbFeedback::Flick;
- }
- else if (feedback == "StopFlick") {
- return HbFeedback::StopFlick;
- }
- else if (feedback == "MultitouchActivate") {
- return HbFeedback::MultitouchActivate;
- }
- else if (feedback == "RotateStep") {
- return HbFeedback::RotateStep;
- }
- else if (feedback == "PositiveTacticon") {
- return HbFeedback::PositiveTacticon;
- }
- else if (feedback == "NeutralTacticon") {
- return HbFeedback::NeutralTacticon;
- }
- else if (feedback == "NegativeTacticon") {
- return HbFeedback::NegativeTacticon;
- }
- else if (feedback == "NumberOfInstantFeedbacks") {
- return HbFeedback::NumberOfInstantFeedbacks;
- }
- else if (feedback == "InstantUser") {
- return HbFeedback::InstantUser;
- }
- else if (feedback == "InstantMaxUser") {
- return HbFeedback::InstantMaxUser;
- }
+ int index = HbFeedback::staticMetaObject.indexOfEnumerator("InstantEffect");
+ QMetaEnum metaEnum = HbFeedback::staticMetaObject.enumerator(index);
+
+ int intFeedback = metaEnum.keysToValue(feedback.toAscii());
+
+ if (intFeedback < HbFeedback::None || intFeedback > HbFeedback::InstantMaxUser) {
return HbFeedback::None;
+ }
+
+ return static_cast<HbFeedback::InstantEffect>(intFeedback);
}
public: