~ubuntu-branches/ubuntu/intrepid/digikam/intrepid

« back to all changes in this revision

Viewing changes to digikam/libs/widgets/common/statuszoombar.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Mark Purcell
  • Date: 2008-07-17 20:25:39 UTC
  • mfrom: (1.2.15 upstream) (3.1.2 lenny)
  • Revision ID: james.westby@ubuntu.com-20080717202539-6n7dtirbkoo7qvhd
Tags: 2:0.9.4-1
* New upstream release
  - digiKam 0.9.4 Release Plan (KDE3) ~ 13 July 08 (Closes: #490144)
* DEB_CONFIGURE_EXTRA_FLAGS := --without-included-sqlite3
* Debhelper compatibility level V7
* Install pixmaps in debian/*.install
* Add debian/digikam.lintian-overrides

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
#include <qtimer.h>
28
28
#include <qslider.h>
29
29
#include <qtooltip.h>
 
30
#include <qevent.h>
30
31
 
31
32
// KDE includes.
32
33
 
43
44
namespace Digikam
44
45
{
45
46
 
 
47
QSliderReverseWheel::QSliderReverseWheel(QWidget *parent) 
 
48
                   : QSlider(parent)
 
49
{
 
50
    // empty, we just need to re-implement wheelEvent to reverse the wheel
 
51
}
 
52
 
 
53
QSliderReverseWheel::~QSliderReverseWheel()
 
54
{
 
55
}
 
56
 
 
57
void QSliderReverseWheel::wheelEvent(QWheelEvent * e)
 
58
{
 
59
    if ( e->orientation() != orientation() && !rect().contains(e->pos()) )
 
60
        return;
 
61
 
 
62
    static float offset = 0;
 
63
    static QSlider* offset_owner = 0;
 
64
    if (offset_owner != this){
 
65
        offset_owner = this;
 
66
        offset = 0;
 
67
    }
 
68
    // note: different sign in front of e->delta vs. original implementation
 
69
    offset += e->delta()*QMAX(pageStep(),lineStep())/120;
 
70
    if (QABS(offset)<1)
 
71
        return;
 
72
    setValue( value() + int(offset) );
 
73
    offset -= int(offset);
 
74
    e->accept();
 
75
}
 
76
 
 
77
// ----------------------------------------------------------------------
 
78
 
46
79
class StatusZoomBarPriv
47
80
{
48
81
 
79
112
    d->zoomMinusButton->setIconSet(SmallIconSet("viewmag-"));
80
113
    QToolTip::add(d->zoomMinusButton, i18n("Zoom Out"));
81
114
 
82
 
    d->zoomSlider = new QSlider(ThumbnailSize::Small, ThumbnailSize::Huge,
83
 
                                ThumbnailSize::Step, ThumbnailSize::Medium, 
84
 
                                Qt::Horizontal, this);
 
115
    d->zoomSlider = new QSliderReverseWheel(this);
 
116
    d->zoomSlider->setMinValue(ThumbnailSize::Small);
 
117
    d->zoomSlider->setMaxValue(ThumbnailSize::Huge);
 
118
    d->zoomSlider->setPageStep(ThumbnailSize::Step);
 
119
    d->zoomSlider->setValue(ThumbnailSize::Medium);
 
120
    d->zoomSlider->setOrientation(Qt::Horizontal);
85
121
    d->zoomSlider->setLineStep(ThumbnailSize::Step);
86
122
    d->zoomSlider->setMaximumHeight(fontMetrics().height()+2);    
87
123
    d->zoomSlider->setFixedWidth(120);