homescreenapp/stateplugins/hshomescreenstateplugin/src/hsidlestate.cpp
changeset 85 35368b604b28
parent 77 4b195f3bea29
child 92 6727c5d0afc7
equal deleted inserted replaced
77:4b195f3bea29 85:35368b604b28
   335     }        
   335     }        
   336     animation->disconnect(this);
   336     animation->disconnect(this);
   337     animation->setEndValue(pageLayerXPos(targetPageIndex));
   337     animation->setEndValue(pageLayerXPos(targetPageIndex));
   338     animation->setDuration(duration);
   338     animation->setDuration(duration);
   339     
   339     
   340     if (abs(mDeltaX) < HSCONFIGURATION_GET(pageChangePanDistanceInPixels)) {
   340     if (abs(mDeltaX) < HSCONFIGURATION_GET(pageChangePanDistance)) {
   341         animation->setEasingCurve(HSCONFIGURATION_GET(bounceAnimationEasingCurve)); 
   341         animation->setEasingCurve(HSCONFIGURATION_GET(bounceAnimationEasingCurve)); 
   342     }
   342     }
   343     else {
   343     else {
   344         animation->setEasingCurve(HSCONFIGURATION_GET(pageChangeAnimationEasingCurve));
   344         animation->setEasingCurve(HSCONFIGURATION_GET(pageChangeAnimationEasingCurve));
   345     }
   345     }
   524     /* include position information in homescreen data,
   524     /* include position information in homescreen data,
   525        which passed around in applib and returned when adding content
   525        which passed around in applib and returned when adding content
   526     */
   526     */
   527     QVariant homescreenData(mPageHotSpot);
   527     QVariant homescreenData(mPageHotSpot);
   528     machine()->postEvent(
   528     machine()->postEvent(
   529         HsMenuEventFactory::createOpenAppLibraryEvent(AddHsMenuMode, homescreenData));
   529         HsMenuEventFactory::createOpenAppLibraryEvent(Hs::AddHsMenuMode, homescreenData));
   530     mPageHotSpot = QPointF();
   530     mPageHotSpot = QPointF();
   531 }
   531 }
   532 
   532 
   533 /*!
   533 /*!
   534 
   534 
   535 */
   535 */
   536 void HsIdleState::onAddContentFromOptionsMenuActionTriggered()
   536 void HsIdleState::onAddContentFromOptionsMenuActionTriggered()
   537 {
   537 {
   538     machine()->postEvent(
   538     machine()->postEvent(
   539          HsMenuEventFactory::createOpenAppLibraryEvent(AddHsMenuMode));
   539          HsMenuEventFactory::createOpenAppLibraryEvent(Hs::AddHsMenuMode));
   540 }
   540 }
   541 
   541 
   542 /*!
   542 /*!
   543     Disconnects the idle view's title.
   543     Disconnects the idle view's title.
   544 */
   544 */
   655     widget->visual()->setGeometry(widgetX, widgetY, widgetRect.width(), widgetRect.height());
   655     widget->visual()->setGeometry(widgetX, widgetY, widgetRect.width(), widgetRect.height());
   656     
   656     
   657     if (HSCONFIGURATION_GET(isSnapEnabled)) {
   657     if (HSCONFIGURATION_GET(isSnapEnabled)) {
   658         mSnapResult = HsWidgetPositioningOnWidgetMove::instance()->run(widget->visual()->sceneBoundingRect());
   658         mSnapResult = HsWidgetPositioningOnWidgetMove::instance()->run(widget->visual()->sceneBoundingRect());
   659 
   659 
       
   660         bool isTrashbinOpen = HsGui::instance()->idleWidget()->trashBin()->isUnderMouse();
       
   661 
   660         if (HSCONFIGURATION_GET(isSnapEffectsEnabled)) {
   662         if (HSCONFIGURATION_GET(isSnapEffectsEnabled)) {
   661             if (mSnapResult.hasHorizontalSnap) {
   663             if (mSnapResult.hasHorizontalSnap && !isTrashbinOpen) {
   662                 showVerticalLine();
   664                 showVerticalLine();
   663             }
   665             } else {
   664             else {
       
   665                 hideVerticalLine();
   666                 hideVerticalLine();
   666             }
   667             }
   667             if (mSnapResult.hasVerticalSnap) {
   668             if (mSnapResult.hasVerticalSnap && !isTrashbinOpen) {
   668                 showHorizontalLine();
   669                 showHorizontalLine();
   669                 }
   670             } else {
   670             else {
       
   671                 hideHorizontalLine();
   671                 hideHorizontalLine();
   672             }
   672             }
   673         }
   673         }
   674 
   674 
   675         mPreviousSnapResult = mSnapResult;
   675         mPreviousSnapResult = mSnapResult;
   952 void HsIdleState::action_moveWidget_setWidgetSnap()
   952 void HsIdleState::action_moveWidget_setWidgetSnap()
   953 {
   953 {
   954     if (HSCONFIGURATION_GET(isSnapEnabled)) {
   954     if (HSCONFIGURATION_GET(isSnapEnabled)) {
   955 
   955 
   956         QVariantHash snapConfiguration;
   956         QVariantHash snapConfiguration;
   957         snapConfiguration[SNAPENABLED] = QString::number(HSCONFIGURATION_GET(isSnapEnabled));
   957         snapConfiguration[Hs::snapEnabled] = QString::number(HSCONFIGURATION_GET(isSnapEnabled));
   958         snapConfiguration[SNAPFORCE] = QString::number(HSCONFIGURATION_GET(snapForce));
   958         snapConfiguration[Hs::snapForce] = QString::number(HSCONFIGURATION_GET(snapForce));
   959         snapConfiguration[SNAPGAP] = QString::number(HSCONFIGURATION_GET(snapGap));
   959         snapConfiguration[Hs::snapGap] = QString::number(HSCONFIGURATION_GET(snapGap));
   960         HsWidgetPositioningOnWidgetMove::instance()->setConfiguration(snapConfiguration);
   960         HsWidgetPositioningOnWidgetMove::instance()->setConfiguration(snapConfiguration);
   961 
   961 
   962         updatePagePresentationToWidgetSnap();
   962         updatePagePresentationToWidgetSnap();
   963 
   963 
   964         connect(HsScene::instance(), SIGNAL(activePageChanged()),
   964         connect(HsScene::instance(), SIGNAL(activePageChanged()),
  1124     QList<HsPage *> pages = HsScene::instance()->pages();
  1124     QList<HsPage *> pages = HsScene::instance()->pages();
  1125     QSizeF pageSize = pages.first()->visual()->size();
  1125     QSizeF pageSize = pages.first()->visual()->size();
  1126 
  1126 
  1127     int pageIndex = HsScene::instance()->activePageIndex();
  1127     int pageIndex = HsScene::instance()->activePageIndex();
  1128 
  1128 
  1129     if (mDeltaX < -HSCONFIGURATION_GET(pageChangePanDistanceInPixels)) {
  1129     if (mDeltaX < -HSCONFIGURATION_GET(pageChangePanDistance)) {
  1130         pageIndex = qMin(pageIndex + 1, pages.count() - 1);
  1130         pageIndex = qMin(pageIndex + 1, pages.count() - 1);
  1131     } else if (HSCONFIGURATION_GET(pageChangePanDistanceInPixels) < mDeltaX) {
  1131     } else if (HSCONFIGURATION_GET(pageChangePanDistance) < mDeltaX) {
  1132         pageIndex = qMax(pageIndex - 1, 0);
  1132         pageIndex = qMax(pageIndex - 1, 0);
  1133     }
  1133     }
  1134 
  1134 
  1135     HsScene::instance()->setActivePageIndex(pageIndex);
  1135     HsScene::instance()->setActivePageIndex(pageIndex);
  1136 
  1136 
  1210    
  1210    
  1211     int pageToRemoveIndex = scene->activePageIndex();
  1211     int pageToRemoveIndex = scene->activePageIndex();
  1212     bool isLastPage(scene->activePage() == scene->pages().last());
  1212     bool isLastPage(scene->activePage() == scene->pages().last());
  1213     
  1213     
  1214     int nextPageIndex(pageToRemoveIndex);
  1214     int nextPageIndex(pageToRemoveIndex);
  1215     nextPageIndex++;
  1215    
  1216     if (isLastPage) {
  1216     if (isLastPage) {
  1217         nextPageIndex--; 
  1217         nextPageIndex--; 
  1218     }
  1218     } else {
       
  1219         nextPageIndex++;
       
  1220     }
       
  1221 
  1219     HsPropertyAnimationWrapper *animation = HsGui::instance()->pageChangeAnimation();
  1222     HsPropertyAnimationWrapper *animation = HsGui::instance()->pageChangeAnimation();
  1220     if (animation->isRunning()) {
  1223     if (animation->isRunning()) {
  1221         animation->stop();
  1224         animation->stop();
  1222     }
  1225     }
  1223     animation->disconnect(this);
  1226     animation->disconnect(this);