bool VCSlider::loadXMLPlayback(const QDomElement* pb_root) { QDomNode node; QDomElement tag; Q_ASSERT(pb_root != NULL); if (pb_root->tagName() != KXMLQLCVCSliderPlayback) { qWarning() << Q_FUNC_INFO << "Slider playback node not found"; return false; } /* Children */ node = pb_root->firstChild(); while (node.isNull() == false) { tag = node.toElement(); if (tag.tagName() == KXMLQLCVCSliderPlaybackFunction) { /* Function */ setPlaybackFunction(tag.text().toUInt()); } else { qWarning() << Q_FUNC_INFO << "Unknown slider playback tag:" << tag.tagName(); } node = node.nextSibling(); } return true; }
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); } }