diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 84da08d7b7fcda12c85caeb5a10b4903770a6f69 (patch) | |
tree | 2a6aea76f2dfffb4cc04bb907c4725af94f70e72 /kicker-applets/mediacontrol/mcslider.cpp | |
download | tdeaddons-84da08d7b7fcda12c85caeb5a10b4903770a6f69.tar.gz tdeaddons-84da08d7b7fcda12c85caeb5a10b4903770a6f69.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeaddons@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kicker-applets/mediacontrol/mcslider.cpp')
-rw-r--r-- | kicker-applets/mediacontrol/mcslider.cpp | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/kicker-applets/mediacontrol/mcslider.cpp b/kicker-applets/mediacontrol/mcslider.cpp new file mode 100644 index 0000000..642d2e2 --- /dev/null +++ b/kicker-applets/mediacontrol/mcslider.cpp @@ -0,0 +1,66 @@ +/*************************************************************************** + mcslider.cpp - description + ------------------- + begin : 20040410 + copyright : (C) 2004 by Teemu Rytilahti + email : [email protected] + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#include <qpixmap.h> + +#include "mcslider.h" + +MCSlider::MCSlider( Orientation orientation, QWidget *parent, const char *name ) + : QSlider( orientation, parent, name ) +{ + setBackgroundOrigin(WidgetOrigin); + setBackground(); +} + +MCSlider::~MCSlider() +{ +} + +// This is needed because KStyle draws slider background incorrectly. + +void MCSlider::setBackground() +{ + unsetPalette(); + + if (parentWidget()->paletteBackgroundPixmap()) + { + QPixmap pm(width(), height()); + pm.fill(parentWidget(), pos()); + setPaletteBackgroundPixmap(pm); + } +} + +void MCSlider::wheelEvent(QWheelEvent *e) +{ + if (e->orientation() == Horizontal) + return; + + if (e->state() == ShiftButton) + { + if (e->delta() > 0) + emit volumeUp(); + else + emit volumeDown(); + e->accept(); + } + else + { + QSlider::wheelEvent(e); + } +} + +#include "mcslider.moc" |