From 84da08d7b7fcda12c85caeb5a10b4903770a6f69 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: 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 --- kicker-applets/mediacontrol/mcslider.cpp | 66 ++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 kicker-applets/mediacontrol/mcslider.cpp (limited to 'kicker-applets/mediacontrol/mcslider.cpp') 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 : teemu.rytilahti@kde-fi.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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 + +#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" -- cgit v1.2.1