16 */ |
16 */ |
17 |
17 |
18 #include <QGesture> |
18 #include <QGesture> |
19 #include <QPainter> |
19 #include <QPainter> |
20 #include <QTimer> |
20 #include <QTimer> |
21 #include <hblabel.h> |
21 #include <HbLabel> |
22 #include <hbgridviewitem> |
22 #include <HbGridViewItem> |
23 #include <hbmainwindow> |
23 #include <HbMainWindow> |
24 #include "hggridcontainer.h" |
24 #include "hggridcontainer.h" |
25 #include "hgmediawallrenderer.h" |
25 #include "hgmediawallrenderer.h" |
26 #include "hgquad.h" |
26 #include "hgquad.h" |
27 #include "hgvgquadrenderer.h" |
27 #include "hgvgquadrenderer.h" |
28 #include "hgvgimage.h" |
28 #include "hgvgimage.h" |
29 #include "hgwidgetitem.h" |
29 #include "hgwidgetitem.h" |
30 #include "trace.h" |
30 #include "trace.h" |
31 |
31 |
32 #include <hbgridviewitem> |
32 #include <HbGridView> |
33 #include <hbgridview> |
33 #include <HbIconItem> |
34 #include <hbiconitem> |
34 #include <QAbstractItemModel> |
35 #include <qabstractitemmodel> |
|
36 #include "hglongpressvisualizer.h" |
35 #include "hglongpressvisualizer.h" |
37 |
36 |
38 |
37 |
39 static const qreal KCameraMaxYAngle(20); |
38 static const qreal KCameraMaxYAngle(20); |
40 static const qreal KSpringVelocityToCameraYAngleFactor(2); |
39 static const qreal KSpringVelocityToCameraYAngleFactor(2); |
41 |
40 |
42 HgGridContainer::HgGridContainer(QGraphicsItem *parent) : HgContainer(parent) |
41 HgGridContainer::HgGridContainer(QGraphicsItem *parent) : |
|
42 HgContainer(parent), |
|
43 mEffect3dEnabled(true) |
43 { |
44 { |
44 |
45 |
45 mUserItemSize = QSize(120,120); |
46 mUserItemSize = QSize(120,120); |
46 mUserItemSpacing = QSize(1,1); |
47 mUserItemSpacing = QSize(1,1); |
47 |
48 |
73 return renderer; |
74 return renderer; |
74 } |
75 } |
75 |
76 |
76 qreal HgGridContainer::getCameraDistance(qreal springVelocity) |
77 qreal HgGridContainer::getCameraDistance(qreal springVelocity) |
77 { |
78 { |
78 if (mRenderer->getScrollDirection() == Qt::Vertical) |
79 if (mRenderer->getScrollDirection() == Qt::Vertical || !mEffect3dEnabled) |
79 return 0; |
80 return 0; |
80 |
81 |
81 return qAbs(springVelocity * 0.01f); |
82 return qAbs(springVelocity * 0.01f); |
82 } |
83 } |
83 |
84 |
84 qreal HgGridContainer::getCameraRotationY(qreal springVelocity) |
85 qreal HgGridContainer::getCameraRotationY(qreal springVelocity) |
85 { |
86 { |
86 if (mRenderer->getScrollDirection() == Qt::Vertical) |
87 if (mRenderer->getScrollDirection() == Qt::Vertical || !mEffect3dEnabled) |
87 return 0; |
88 return 0; |
88 |
89 |
89 return qBound(-KCameraMaxYAngle, springVelocity * KSpringVelocityToCameraYAngleFactor, KCameraMaxYAngle); |
90 return qBound(-KCameraMaxYAngle, springVelocity * KSpringVelocityToCameraYAngleFactor, KCameraMaxYAngle); |
90 } |
91 } |
91 |
92 |
117 HgWidgetItem* item = itemByIndex(index); |
118 HgWidgetItem* item = itemByIndex(index); |
118 if (item && item->modelIndex() != mSelectionModel->currentIndex()) { |
119 if (item && item->modelIndex() != mSelectionModel->currentIndex()) { |
119 mSelectionModel->setCurrentIndex(item->modelIndex(), QItemSelectionModel::Current); |
120 mSelectionModel->setCurrentIndex(item->modelIndex(), QItemSelectionModel::Current); |
120 } |
121 } |
121 } |
122 } |
|
123 |
|
124 void HgGridContainer::setEffect3dEnabled(bool effect3dEnabled) |
|
125 { |
|
126 if (mEffect3dEnabled != effect3dEnabled) { |
|
127 // Setting has changed. redraw screen. |
|
128 mEffect3dEnabled = effect3dEnabled; |
|
129 update(); |
|
130 } |
|
131 } |
|
132 |
|
133 bool HgGridContainer::effect3dEnabled() const |
|
134 { |
|
135 return mEffect3dEnabled; |
|
136 } |