diff options
Diffstat (limited to 'src/ui/devicewidget.cpp')
| -rw-r--r-- | src/ui/devicewidget.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/ui/devicewidget.cpp b/src/ui/devicewidget.cpp index e6401d2..22e2995 100644 --- a/src/ui/devicewidget.cpp +++ b/src/ui/devicewidget.cpp @@ -17,6 +17,7 @@ #include <kled.h> #include <kiconloader.h> #include <tdeglobal.h> +#include <tdeconfig.h> #include <kstandarddirs.h> #include <tdepopupmenu.h> #include <tdelocale.h> @@ -287,6 +288,17 @@ void DeviceWidget::onDeviceName( const TQString &name ) static_cast<VerticalLabel*>(m_label)->setText( name ); } +void DeviceWidget::wheelEvent( TQWheelEvent *e ) +{ + TDEConfig *cfg = TDEGlobal::config(); + cfg->setGroup("General"); + int step = cfg->readNumEntry("ScrollStep", 5); + int delta = e->delta() > 0 ? step : -step; + int vol = TQMAX( 0, TQMIN( 100, m_device->volume() + delta ) ); + m_device->setVolume( vol ); + e->accept(); +} + void DeviceWidget::contextMenuEvent( TQContextMenuEvent *e ) { TDEPopupMenu menu( this ); @@ -300,11 +312,13 @@ void DeviceWidget::contextMenuEvent( TQContextMenuEvent *e ) if ( cat == AudioDevice::Output ) { menu.insertSeparator(); - menu.insertItem( i18n("Set as Default Output"), this, TQ_SLOT(onSetDefault()) ); + int id = menu.insertItem( i18n("Set as Default Output"), this, TQ_SLOT(onSetDefault()) ); + menu.setItemChecked( id, m_model->defaultOutput() == m_device ); } else if ( cat == AudioDevice::Input ) { menu.insertSeparator(); - menu.insertItem( i18n("Set as Default Input"), this, TQ_SLOT(onSetDefault()) ); + int id = menu.insertItem( i18n("Set as Default Input"), this, TQ_SLOT(onSetDefault()) ); + menu.setItemChecked( id, m_model->defaultInput() == m_device ); } else if ( cat == AudioDevice::Playback ) { TQPtrList<AudioDevice> sinks = m_model->devices( AudioDevice::Output ); |
