summaryrefslogtreecommitdiffstats
path: root/kdeui/kscrollview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kdeui/kscrollview.cpp')
-rw-r--r--kdeui/kscrollview.cpp189
1 files changed, 0 insertions, 189 deletions
diff --git a/kdeui/kscrollview.cpp b/kdeui/kscrollview.cpp
deleted file mode 100644
index 1d37d03d3..000000000
--- a/kdeui/kscrollview.cpp
+++ /dev/null
@@ -1,189 +0,0 @@
-/* This file is part of the KDE libraries
- Copyright (C) 2005 Allan Sandfeld Jensen <[email protected]>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License version 2 as published by the Free Software Foundation.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include "config.h"
-
-#include <tqtimer.h>
-#include <tqevent.h>
-#include <tqapplication.h>
-
-#include "kscrollview.h"
-#include <kdebug.h>
-#include <kconfig.h>
-#include <kglobal.h>
-
-struct KScrollView::KScrollViewPrivate {
- KScrollViewPrivate() : dx(0), dy(0), ddx(0), ddy(0), rdx(0), rdy(0), scrolling(false) {}
- TQTimer timer;
- int dx;
- int dy;
- // Step size * 16 and residual to avoid huge difference between 1px/step and 2px/step
- int ddx;
- int ddy;
- int rdx;
- int rdy;
- bool scrolling;
-};
-
-KScrollView::KScrollView( TQWidget *parent, const char *name, Qt::WFlags f )
- : TQScrollView( parent, name, f )
-{
- d = new KScrollViewPrivate;
- connect(&d->timer, TQT_SIGNAL(timeout()), this, TQT_SLOT(scrollTick()));
-}
-
-KScrollView::~KScrollView()
-{
- delete d;
-}
-
-void KScrollView::scrollBy(int dx, int dy)
-{
- KConfigGroup cfg( KGlobal::config(), "KDE" );
- if( !cfg.readBoolEntry( "SmoothScrolling", true )) {
- TQScrollView::scrollBy( dx, dy );
- return;
- }
- // scrolling destination
- int full_dx = d->dx + dx;
- int full_dy = d->dy + dy;
-
- // scrolling speed
- int ddx = 0;
- int ddy = 0;
-
- int steps = SCROLL_TIME/SCROLL_TICK;
-
- ddx = (full_dx*16)/steps;
- ddy = (full_dy*16)/steps;
-
- // don't go under 1px/step
- if (ddx > 0 && ddx < 16) ddx = 16;
- if (ddy > 0 && ddy < 16) ddy = 16;
- if (ddx < 0 && ddx > -16) ddx = -16;
- if (ddy < 0 && ddy > -16) ddy = -16;
-
- d->dx = full_dx;
- d->dy = full_dy;
- d->ddx = ddx;
- d->ddy = ddy;
-
- if (!d->scrolling) {
- scrollTick();
- startScrolling();
- }
-}
-/*
-void KScrollView::scrollBy(int dx, int dy)
-{
- if (d->scrolling)
- setContentsPos( d->x+dx, d->y+dy );
- else
- setContentsPos( contentsX() + dx, contentsY() + dy);
-}
-
-void KScrollView::setContentsPos(int x, int y)
-{
- if (x < 0) x = 0;
- if (y < 0) y = 0;
-
- int dx = x - contentsX();
- int dy = y - contentsY();
-
- // to large to smooth out
-// if (dx > 1000 || dy > 1000) return TQScrollView::setContentsPos(x,y);
-
- // scrolling speed
- int ddx = 0;
- int ddy = 0;
-
- int steps = SCROLL_TIME/SCROLL_TICK;
-
- ddx = (dx*16)/steps;
- ddy = (dy*16)/steps;
-
- d->x = x;
- d->y = y;
- d->dx = dx;
- d->dy = dy;
- d->ddx = ddx;
- d->ddy = ddy;
-
- if (!d->scrolling) {
- scrollTick();
- startScrolling();
- }
-} */
-
-void KScrollView::scrollTick() {
- if (d->dx == 0 && d->dy == 0) {
- stopScrolling();
- return;
- }
-
- int tddx = d->ddx + d->rdx;
- int tddy = d->ddy + d->rdy;
-
- int ddx = tddx / 16;
- int ddy = tddy / 16;
- d->rdx = tddx % 16;
- d->rdy = tddy % 16;
-
- if (d->dx > 0 && ddx > d->dx) ddx = d->dx;
- else
- if (d->dx < 0 && ddx < d->dx) ddx = d->dx;
-
- if (d->dy > 0 && ddy > d->dy) ddy = d->dy;
- else
- if (d->dy < 0 && ddy < d->dy) ddy = d->dy;
-
- d->dx -= ddx;
- d->dy -= ddy;
-
-// TQScrollView::setContentsPos( contentsX() + ddx, contentsY() + ddy);
- TQScrollView::scrollBy(ddx, ddy);
-}
-
-void KScrollView::startScrolling()
-{
- d->scrolling = true;
- d->timer.start(SCROLL_TICK, false);
-}
-
-void KScrollView::stopScrolling()
-{
- d->timer.stop();
- d->dx = d->dy = 0;
- d->scrolling = false;
-}
-
-// Overloaded from TQScrollView and QScrollBar
-void KScrollView::wheelEvent( TQWheelEvent *e )
-{
- int pageStep = verticalScrollBar()->pageStep();
- int lineStep = verticalScrollBar()->lineStep();
- int step = QMIN( TQApplication::wheelScrollLines()*lineStep, pageStep );
- if ( ( e->state() & ControlButton ) || ( e->state() & ShiftButton ) )
- step = pageStep;
-
- int dy = (e->delta()*step)/120;
- scrollBy(0,-dy);
- e->accept();
-}
-
-#include "kscrollview.moc"