summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorColin Guthrie <cguthrie@mandriva.org>2009-03-16 23:18:40 +0000
committerColin Guthrie <cguthrie@mandriva.org>2009-06-17 08:54:12 +0100
commit4c3acd35e5d406846c6f9d0596ce4f834e373bd8 (patch)
treeb7d16ccd567b37b6eb7b8c2f0b6f6b508d5050ba /src
parentfab8d8d5246b96799b6722a92798498ddc499213 (diff)
Wire up the default toggle button (replaces the old menu)
Diffstat (limited to 'src')
-rw-r--r--src/devicewidget.cc8
-rw-r--r--src/devicewidget.h3
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;