diff options
author | Colin Guthrie <cguthrie@mandriva.org> | 2009-03-16 23:18:40 +0000 |
---|---|---|
committer | Colin Guthrie <cguthrie@mandriva.org> | 2009-06-17 08:54:12 +0100 |
commit | 4c3acd35e5d406846c6f9d0596ce4f834e373bd8 (patch) | |
tree | b7d16ccd567b37b6eb7b8c2f0b6f6b508d5050ba | |
parent | fab8d8d5246b96799b6722a92798498ddc499213 (diff) |
Wire up the default toggle button (replaces the old menu)
-rw-r--r-- | src/devicewidget.cc | 8 | ||||
-rw-r--r-- | src/devicewidget.h | 3 |
2 files changed, 10 insertions, 1 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; diff --git a/src/devicewidget.h b/src/devicewidget.h index ce3c55f..fcf4e91 100644 --- a/src/devicewidget.h +++ b/src/devicewidget.h @@ -35,7 +35,7 @@ public: void setVolume(const pa_cvolume &volume, bool force = false); virtual void updateChannelVolume(int channel, pa_volume_t v); - Gtk::ToggleButton *lockToggleButton, *muteToggleButton; + Gtk::ToggleButton *lockToggleButton, *muteToggleButton, *defaultToggleButton; pa_channel_map channelMap; pa_cvolume volume; @@ -43,6 +43,7 @@ public: ChannelWidget *channelWidgets[PA_CHANNELS_MAX]; virtual void onMuteToggleButton(); + virtual void onDefaultToggleButton(); sigc::connection timeoutConnection; |