From feff1f6f0592c1f085241bb9d3794b723d524f2e Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 21 Mar 2009 03:49:19 +0100 Subject: configure steps for scales --- src/channelwidget.cc | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/channelwidget.cc') diff --git a/src/channelwidget.cc b/src/channelwidget.cc index 5b04012..eac41ad 100644 --- a/src/channelwidget.cc +++ b/src/channelwidget.cc @@ -39,7 +39,8 @@ ChannelWidget::ChannelWidget(BaseObjectType* cobject, const Glib::RefPtrget_widget("volumeLabel", volumeLabel); x->get_widget("volumeScale", volumeScale); - volumeScale->set_value(100); + volumeScale->set_value(100.0); + volumeScale->set_increments(100.0/PA_VOLUME_NORM, 100.0/PA_VOLUME_NORM); volumeScale->signal_value_changed().connect(sigc::mem_fun(*this, &ChannelWidget::onVolumeScaleValueChanged)); } @@ -116,13 +117,16 @@ void ChannelWidget::set_sensitive(bool enabled) { void ChannelWidget::setBaseVolume(pa_volume_t v) { - volumeScale->clear_marks(); + gtk_scale_add_mark(GTK_SCALE(volumeScale->gobj()), 0.0, (GtkPositionType) GTK_POS_BOTTOM, _("Silence")); + gtk_scale_add_mark(GTK_SCALE(volumeScale->gobj()), 100.0, (GtkPositionType) GTK_POS_BOTTOM, _("Max")); if (v > PA_VOLUME_MUTED && v < PA_VOLUME_NORM) { double p = ((double) v * 100) / PA_VOLUME_NORM; - gtk_scale_add_mark(GTK_SCALE(volumeScale->gobj()), p, (GtkPositionType) GTK_POS_BOTTOM, NULL); + gtk_scale_add_mark(GTK_SCALE(volumeScale->gobj()), p, (GtkPositionType) GTK_POS_BOTTOM, _("Base")); } - gtk_scale_add_mark(GTK_SCALE(volumeScale->gobj()), 0.0, (GtkPositionType) GTK_POS_BOTTOM, NULL); - gtk_scale_add_mark(GTK_SCALE(volumeScale->gobj()), 100.0, (GtkPositionType) GTK_POS_BOTTOM, NULL); +} + +void ChannelWidget::setSteps(unsigned n) { + volumeScale->set_increments(100.0/(n-1), 100.0/(n-1)); } -- cgit