void VCSlider::setSliderMode(SliderMode mode) { Q_ASSERT(mode >= Level && mode <= Submaster); m_sliderMode = mode; if (mode == Level) { /* Set the slider range */ uchar level = levelValue(); if (m_slider) { m_slider->setRange(levelLowLimit(), levelHighLimit()); m_slider->setValue(level); if (m_widgetMode == WSlider) m_slider->setStyleSheet(CNG_DEFAULT_STYLE); } slotSliderMoved(level); m_bottomLabel->show(); if (m_cngType != ClickAndGoWidget::None) { setClickAndGoType(m_cngType); setupClickAndGoWidget(); m_cngButton->show(); if (m_slider) setClickAndGoWidgetFromLevel(m_slider->value()); } if (m_doc->mode() == Doc::Operate) m_doc->masterTimer()->registerDMXSource(this, "Slider"); } else if (mode == Playback) { m_bottomLabel->show(); m_cngButton->hide(); m_monitorEnabled = false; uchar level = playbackValue(); if (m_slider) { m_slider->setRange(0, UCHAR_MAX); m_slider->setValue(level); if (m_widgetMode == WSlider) m_slider->setStyleSheet(CNG_DEFAULT_STYLE); } slotSliderMoved(level); if (m_doc->mode() == Doc::Operate) m_doc->masterTimer()->registerDMXSource(this, "Slider"); setPlaybackFunction(this->m_playbackFunction); } else if (mode == Submaster) { m_monitorEnabled = false; uchar level = levelValue(); if (m_slider) { m_slider->setRange(0, UCHAR_MAX); m_slider->setValue(level); if (m_widgetMode == WSlider) m_slider->setStyleSheet(submasterStyleSheet); } if (m_doc->mode() == Doc::Operate) m_doc->masterTimer()->unregisterDMXSource(this); } }
void VCSlider::setSliderMode(SliderMode mode) { Q_ASSERT(mode >= Level && mode <= Playback); /* Unregister this as a DMX source if the new mode is not "Level" or "Playback" */ if ((m_sliderMode == Level && mode != Level) || (m_sliderMode == Playback && mode != Playback)) { m_doc->masterTimer()->unregisterDMXSource(this); } m_sliderMode = mode; if (mode == Level) { /* Set the slider range */ uchar level = levelValue(); if (m_slider) { m_slider->setRange(levelLowLimit(), levelHighLimit()); m_slider->setValue(level); } else if(m_knob) { m_knob->setRange(levelLowLimit(), levelHighLimit()); m_knob->setValue(level); } slotSliderMoved(level); m_bottomLabel->show(); m_tapButton->hide(); if (m_cngType != ClickAndGoWidget::None) { setClickAndGoType(m_cngType); setupClickAndGoWidegt(); m_cngButton->show(); if (m_slider) setClickAndGoWidgetFromLevel(m_slider->value()); else if(m_knob) setClickAndGoWidgetFromLevel(m_knob->value()); } m_doc->masterTimer()->registerDMXSource(this); } else if (mode == Playback) { m_bottomLabel->show(); m_tapButton->hide(); m_cngButton->hide(); uchar level = playbackValue(); if (m_slider) { m_slider->setRange(0, UCHAR_MAX); m_slider->setValue(level); } else if (m_knob) { m_knob->setRange(0, UCHAR_MAX); m_knob->setValue(level); } slotSliderMoved(level); m_doc->masterTimer()->registerDMXSource(this); } }