3
L33tSlider::L33tSlider(QWidget * parent, const char * name) :
4
QSlider(parent,name), pressed(false)
6
L33tSlider::L33tSlider(Orientation o, QWidget * parent, const char * name) :
7
QSlider(o,parent,name), pressed(false)
9
L33tSlider::L33tSlider(int minValue, int maxValue, int pageStep, int value,
10
Orientation o, QWidget * parent, const char * name) :
11
QSlider(minValue, maxValue, pageStep, value, o, parent,name), pressed(false)
14
bool L33tSlider::currentlyPressed() const
19
void L33tSlider::setValue(int i)
25
void L33tSlider::mousePressEvent(QMouseEvent*e)
27
if (e->button()!=RightButton)
30
QSlider::mousePressEvent(e);
34
void L33tSlider::mouseReleaseEvent(QMouseEvent*e)
37
QSlider::mouseReleaseEvent(e);
38
emit userChanged(value());
41
void L33tSlider::wheelEvent(QWheelEvent *e)
43
QSlider::wheelEvent(e);
44
int newValue=value() /* +e->delta()/120 */;
45
if (newValue<minValue())
47
else if (newValue>maxValue())
50
emit userChanged(newValue);
54
SliderAction::SliderAction(const QString& text, int accel, const QObject *receiver,
55
const char *member, QObject* parent, const char* name )
56
: KAction( text, accel, parent, name )
58
m_receiver = receiver;
62
int SliderAction::plug( QWidget *w, int index )
64
if (!w->inherits("KToolBar")) return -1;
66
KToolBar *toolBar = (KToolBar *)w;
67
int id = KAction::getToolButtonID();
70
m_slider=new L33tSlider(0, 1000, 100, 0, Horizontal, toolBar);
71
m_slider->setMinimumWidth(10);
72
toolBar->insertWidget(id, 10, m_slider, index );
75
addContainer( toolBar, id );
76
connect( toolBar, SIGNAL( destroyed() ), this, SLOT( slotDestroyed() ) );
77
toolBar->setItemAutoSized( id, true );
79
if (w->inherits( "KToolBar" ))
80
connect(toolBar, SIGNAL(moved(KToolBar::BarPosition)), this, SLOT(toolbarMoved(KToolBar::BarPosition)));
84
return containerCount() - 1;
87
void SliderAction::toolbarMoved(KToolBar::BarPosition)
89
// I wish this worked :)
92
if (pos == KToolBar::Left || pos == KToolBar::Right)
94
m_slider->setOrientation(Vertical);
95
m_slider->setFixedWidth(m_slider->height());
99
m_slider->setOrientation(Horizontal);
100
m_slider->resize(m_slider->height(), m_slider->height());
105
void SliderAction::unplug( QWidget *w )
107
KToolBar *toolBar = (KToolBar *)w;
108
int idx = findContainer( w );
110
toolBar->removeItem( menuId( idx ) );
111
removeContainer( idx );
114
#include "controls.moc"