diff options
Diffstat (limited to 'plainqt')
-rw-r--r-- | plainqt/style/qtmaemo6scrollbareventfilter.cpp | 33 | ||||
-rw-r--r-- | plainqt/style/qtmaemo6scrollbareventfilter.h | 24 |
2 files changed, 36 insertions, 21 deletions
diff --git a/plainqt/style/qtmaemo6scrollbareventfilter.cpp b/plainqt/style/qtmaemo6scrollbareventfilter.cpp index e9b1627b..982ac7e8 100644 --- a/plainqt/style/qtmaemo6scrollbareventfilter.cpp +++ b/plainqt/style/qtmaemo6scrollbareventfilter.cpp @@ -33,10 +33,12 @@ #include <mapplicationpagestyle.h> #include <mpositionindicatorstyle.h> #include <mwidgetstyle.h> +#include <MScalableImage> + #include <mwidgetfadeinanimationstyle.h> #include <mwidgetfadeoutanimationstyle.h> -#include <MScalableImage> +#ifdef SHOW_SCROLLING_THUMBNAIL AbstractScrollAreaThumbView::AbstractScrollAreaThumbView(QWidget *parent /*= NULL*/) : QLabel(parent) { @@ -71,15 +73,17 @@ void AbstractScrollAreaThumbView::paintEvent(QPaintEvent *event) painter.drawPixmap(event->rect(), pix); } } - +#endif //SHOW_SCROLLING_THUMBNAIL QtMaemo6ScrollBarEventFilter::QtMaemo6ScrollBarEventFilter(QObject *parent) : QObject(parent), - m_scrollBarsAlwaysVisible(false), +#ifdef SHOW_SCROLLING_THUMBNAIL m_scrollAreaThumbnailMaxSize(200), m_scrollAreaThumbnailOffset(20), m_scrollAreaThumbnailBorder(3), - m_showScrollAreaThumbnailFactor(0.2) + m_showScrollAreaThumbnailFactor(0.2), +#endif //SHOW_SCROLLING_THUMBNAIL + m_scrollBarsAlwaysVisible(false) {} QtMaemo6ScrollBarEventFilter::~QtMaemo6ScrollBarEventFilter() @@ -97,7 +101,7 @@ void QtMaemo6ScrollBarEventFilter::enableOn(QObject *o) scrollAreaThumbView->setObjectName(SCROLLAREATHUMBVIEW); scrollAreaThumbView->setOpacity(0); } -#endif +#endif //SHOW_SCROLLING_THUMBNAIL //FIXME: find a more proper solution without manipulating the widget's properties // turn the scrollbars off for ScrollArea, they are handled manually by the style abstractScrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); @@ -177,7 +181,7 @@ bool QtMaemo6ScrollBarEventFilter::eventFilter(QObject *obj, QEvent *event) if (QLabel *scrollAreaThumbView = scrollArea->findChild<QLabel *>(SCROLLAREATHUMBVIEW)) { setScrollAreaThumbGeometry(scrollAreaThumbView); } -#endif +#endif //SHOW_SCROLLING_THUMBNAIL } } break; @@ -202,11 +206,11 @@ void QtMaemo6ScrollBarEventFilter::setScrollBarVisibility(QScrollBar *scrollBar) void QtMaemo6ScrollBarEventFilter::generateScrollAreaThumb(QAbstractScrollArea *scrollArea, bool forceUpdate /*= false*/) { +#ifndef SHOW_SCROLLING_THUMBNAIL //surpress unused warning while this is inactive Q_UNUSED(scrollArea); Q_UNUSED(forceUpdate); - -#ifdef SHOW_SCROLLING_THUMBNAIL +#else if (AbstractScrollAreaThumbView *scrollAreaThumbView = scrollArea->findChild<AbstractScrollAreaThumbView *>(SCROLLAREATHUMBVIEW)) { if (scrollAreaThumbView) { @@ -252,7 +256,7 @@ void QtMaemo6ScrollBarEventFilter::generateScrollAreaThumb(QAbstractScrollArea * } } } -#endif +#endif //SHOW_SCROLLING_THUMBNAIL } void QtMaemo6ScrollBarEventFilter::cleanUpTimerMap() @@ -271,6 +275,9 @@ void QtMaemo6ScrollBarEventFilter::cleanUpTimerMap() void QtMaemo6ScrollBarEventFilter::setScrollAreaThumbGeometry(QLabel *label) { +#ifndef SHOW_SCROLLING_THUMBNAIL + Q_UNUSED(label); +#else if (label->pixmap()) { if (qApp->isRightToLeft()) { label->setGeometry(m_scrollAreaThumbnailOffset, m_scrollAreaThumbnailOffset, @@ -280,15 +287,21 @@ void QtMaemo6ScrollBarEventFilter::setScrollAreaThumbGeometry(QLabel *label) m_scrollAreaThumbnailOffset, label->pixmap()->width(), label->pixmap()->height()); } } +#endif //SHOW_SCROLLING_THUMBNAIL } void QtMaemo6ScrollBarEventFilter::scrollBarValueChanged() { + if (QScrollBar *scrollBar = qobject_cast<QScrollBar *>(sender())) { if (QAbstractScrollArea *scrollArea = qobject_cast<QAbstractScrollArea *>(scrollBar->parent())) { int scrollBarRange = scrollBar->maximum() - scrollBar->minimum(); +#ifndef SHOW_SCROLLING_THUMBNAIL + Q_UNUSED(scrollArea); +#else double factor = 0; + if (scrollBar->orientation() == Qt::Horizontal) factor = scrollBarRange / (double)scrollArea->viewport()->childrenRect().size().width(); else @@ -302,7 +315,7 @@ void QtMaemo6ScrollBarEventFilter::scrollBarValueChanged() fadeInOutAnimation(scrollArea->findChild<QLabel *>(SCROLLAREATHUMBVIEW), "opacity"); } - +#endif //SHOW_SCROLLING_THUMBNAIL //only show the scrollBar if it has a valid range if (scrollBarRange) fadeInOutAnimation(scrollBar, WIDGET_OPACITY); diff --git a/plainqt/style/qtmaemo6scrollbareventfilter.h b/plainqt/style/qtmaemo6scrollbareventfilter.h index b6061c33..01873531 100644 --- a/plainqt/style/qtmaemo6scrollbareventfilter.h +++ b/plainqt/style/qtmaemo6scrollbareventfilter.h @@ -32,7 +32,7 @@ class QSequentialAnimationGroup; #define SCROLLAREATHUMBVIEW "scrollAreaThumbView" #define WIDGET_OPACITY "widgetOpacity" - +#ifdef SHOW_SCROLLING_THUMBNAIL /*! * this class shows a thumbnail of any other widget placed within an * scrollarea. It marks the currently visible part in the scrollarea's @@ -82,7 +82,7 @@ protected: QRect m_visibleRect; double m_opacity; }; - +#endif //SHOW_SCROLLING_THUMBNAIL /*! * this class handles visibility of scrollbars. @@ -139,14 +139,14 @@ protected Q_SLOTS: void cleanUpTimerMap(); /*! - * places the scrolling preview thumb + * this slot is called, if a scrollbars value changed */ - void setScrollAreaThumbGeometry(QLabel *label); + void scrollBarValueChanged(); /*! - * this slot is called, if a scrollbars value changed + * places the scrolling preview thumb */ - void scrollBarValueChanged(); + void setScrollAreaThumbGeometry(QLabel *label); /*! * Generates a thumbnail pixmap of the whole scrollarea contents @@ -156,8 +156,14 @@ protected Q_SLOTS: * \param forceUpdate forces to redraw the cached pixmap */ void generateScrollAreaThumb(QAbstractScrollArea *scrollArea, bool forceUpdate = false); - protected: +#ifdef SHOW_SCROLLING_THUMBNAIL + const int m_scrollAreaThumbnailMaxSize; + const int m_scrollAreaThumbnailOffset; + const int m_scrollAreaThumbnailBorder; + const double m_showScrollAreaThumbnailFactor; +#endif //SHOW_SCROLLING_THUMBNAIL + enum AnimationState { FadeIn = 0, Show = 1, @@ -166,10 +172,6 @@ protected: QMap<const QWidget *, QSequentialAnimationGroup *> m_pendingAnimations; bool m_scrollBarsAlwaysVisible; - const int m_scrollAreaThumbnailMaxSize; - const int m_scrollAreaThumbnailOffset; - const int m_scrollAreaThumbnailBorder; - const double m_showScrollAreaThumbnailFactor; }; |