diff options
Diffstat (limited to 'src/devicewidget.cc')
-rw-r--r-- | src/devicewidget.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/devicewidget.cc b/src/devicewidget.cc index a235baf..29b3599 100644 --- a/src/devicewidget.cc +++ b/src/devicewidget.cc @@ -27,8 +27,10 @@ DeviceWidget::DeviceWidget(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Gl x->get_widget("lockToggleButton", lockToggleButton); x->get_widget("muteToggleButton", muteToggleButton); + x->get_widget("defaultToggleButton", defaultToggleButton); muteToggleButton->signal_clicked().connect(sigc::mem_fun(*this, &DeviceWidget::onMuteToggleButton)); + defaultToggleButton->signal_clicked().connect(sigc::mem_fun(*this, &DeviceWidget::onDefaultToggleButton)); for (unsigned i = 0; i < PA_CHANNELS_MAX; i++) channelWidgets[i] = NULL; @@ -88,6 +90,12 @@ void DeviceWidget::onMuteToggleButton() { channelWidgets[i]->set_sensitive(!muteToggleButton->get_active()); } +void DeviceWidget::onDefaultToggleButton() { + /* Prevent the button being untoggled */ + if (defaultToggleButton->get_active()) + defaultToggleButton->set_sensitive(false); +} + bool DeviceWidget::timeoutEvent() { executeVolumeUpdate(); return false; |