ganeswidgets/src/hggridcontainer.cpp
branchGCC_SURGE
changeset 10 c348b9772569
parent 5 4fa04caf0f43
child 17 a10844a9914d
equal deleted inserted replaced
4:463f1934e292 10:c348b9772569
    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 }