src/gui/widgets/qabstractscrollarea.cpp
changeset 33 3e2da88830cd
parent 30 5dc02b23752f
equal deleted inserted replaced
30:5dc02b23752f 33:3e2da88830cd
   293     q->setFocusPolicy(Qt::WheelFocus);
   293     q->setFocusPolicy(Qt::WheelFocus);
   294     q->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken);
   294     q->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken);
   295     q->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
   295     q->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
   296     layoutChildren();
   296     layoutChildren();
   297 #ifndef Q_WS_MAC
   297 #ifndef Q_WS_MAC
       
   298 #ifndef QT_NO_GESTURES
   298     viewport->grabGesture(Qt::PanGesture);
   299     viewport->grabGesture(Qt::PanGesture);
       
   300 #endif
   299 #endif
   301 #endif
   300 }
   302 }
   301 
   303 
   302 #ifdef Q_WS_WIN
   304 #ifdef Q_WS_WIN
   303 void QAbstractScrollAreaPrivate::setSingleFingerPanEnabled(bool on)
   305 void QAbstractScrollAreaPrivate::setSingleFingerPanEnabled(bool on)
   544         d->viewport = widget;
   546         d->viewport = widget;
   545         d->viewport->setParent(this);
   547         d->viewport->setParent(this);
   546         d->viewport->setFocusProxy(this);
   548         d->viewport->setFocusProxy(this);
   547         d->viewport->installEventFilter(d->viewportFilter.data());
   549         d->viewport->installEventFilter(d->viewportFilter.data());
   548 #ifndef Q_WS_MAC
   550 #ifndef Q_WS_MAC
       
   551 #ifndef QT_NO_GESTURES
   549         d->viewport->grabGesture(Qt::PanGesture);
   552         d->viewport->grabGesture(Qt::PanGesture);
       
   553 #endif
   550 #endif
   554 #endif
   551         d->layoutChildren();
   555         d->layoutChildren();
   552         if (isVisible())
   556         if (isVisible())
   553             d->viewport->show();
   557             d->viewport->show();
   554         QMetaObject::invokeMethod(this, "setupViewport", Q_ARG(QWidget *, widget));
   558         QMetaObject::invokeMethod(this, "setupViewport", Q_ARG(QWidget *, widget));
   958         // ignore touch events in case they have been propagated from the viewport
   962         // ignore touch events in case they have been propagated from the viewport
   959     case QEvent::TouchBegin:
   963     case QEvent::TouchBegin:
   960     case QEvent::TouchUpdate:
   964     case QEvent::TouchUpdate:
   961     case QEvent::TouchEnd:
   965     case QEvent::TouchEnd:
   962         return false;
   966         return false;
       
   967 #ifndef QT_NO_GESTURES
   963     case QEvent::Gesture:
   968     case QEvent::Gesture:
   964     {
   969     {
   965         QGestureEvent *ge = static_cast<QGestureEvent *>(e);
   970         QGestureEvent *ge = static_cast<QGestureEvent *>(e);
   966         QPanGesture *g = static_cast<QPanGesture *>(ge->gesture(Qt::PanGesture));
   971         QPanGesture *g = static_cast<QPanGesture *>(ge->gesture(Qt::PanGesture));
   967         if (g) {
   972         if (g) {
   978             }
   983             }
   979             return true;
   984             return true;
   980         }
   985         }
   981         return false;
   986         return false;
   982     }
   987     }
       
   988 #endif // QT_NO_GESTURES
   983     case QEvent::StyleChange:
   989     case QEvent::StyleChange:
   984     case QEvent::LayoutDirectionChange:
   990     case QEvent::LayoutDirectionChange:
   985     case QEvent::ApplicationLayoutDirectionChange:
   991     case QEvent::ApplicationLayoutDirectionChange:
   986     case QEvent::LayoutRequest:
   992     case QEvent::LayoutRequest:
   987         d->layoutChildren();
   993         d->layoutChildren();
  1034     case QEvent::DragMove:
  1040     case QEvent::DragMove:
  1035     case QEvent::DragLeave:
  1041     case QEvent::DragLeave:
  1036 #endif
  1042 #endif
  1037         return QFrame::event(e);
  1043         return QFrame::event(e);
  1038     case QEvent::LayoutRequest:
  1044     case QEvent::LayoutRequest:
       
  1045 #ifndef QT_NO_GESTURES
  1039     case QEvent::Gesture:
  1046     case QEvent::Gesture:
  1040     case QEvent::GestureOverride:
  1047     case QEvent::GestureOverride:
  1041         return event(e);
  1048         return event(e);
       
  1049 #endif
  1042     default:
  1050     default:
  1043         break;
  1051         break;
  1044     }
  1052     }
  1045     return false; // let the viewport widget handle the event
  1053     return false; // let the viewport widget handle the event
  1046 }
  1054 }