void WOverview::setup(QDomNode node, const SkinContext& context) { m_signalColors.setup(node, context); m_qColorBackground = m_signalColors.getBgColor(); // Clear the background pixmap, if it exists. m_backgroundPixmap = QPixmap(); m_backgroundPixmapPath = context.selectString(node, "BgPixmap"); if (m_backgroundPixmapPath != "") { m_backgroundPixmap = QPixmap(context.getSkinPath(m_backgroundPixmapPath)); } m_endOfTrackColor = QColor(200, 25, 20); const QString endOfTrackColorName = context.selectString(node, "EndOfTrackColor"); if (!endOfTrackColorName.isNull()) { m_endOfTrackColor.setNamedColor(endOfTrackColorName); m_endOfTrackColor = WSkinColor::getCorrectColor(m_endOfTrackColor); } QPalette palette; //Qt4 update according to http://doc.trolltech.com/4.4/qwidget-qt3.html#setBackgroundColor (this could probably be cleaner maybe?) palette.setColor(this->backgroundRole(), m_qColorBackground); setPalette(palette); //setup hotcues and cue and loop(s) m_marks.setup(m_group, node, context, m_signalColors); for (int i = 0; i < m_marks.size(); ++i) { WaveformMark& mark = m_marks[i]; if (mark.m_pointControl) { connect(mark.m_pointControl, SIGNAL(valueChanged(double)), this, SLOT(onMarkChanged(double))); } }
void WaveformMarkRange::setup(const QString& group, const QDomNode& node, const SkinContext& context, const WaveformSignalColors& signalColors) { m_activeColor = context.selectString(node, "Color"); if (m_activeColor == "") { //vRince kind of legacy fallback ... // As a fallback, grab the mark color from the parent's MarkerColor m_activeColor = signalColors.getAxesColor(); qDebug() << "Didn't get mark Color, using parent's <AxesColor>:" << m_activeColor; } else { m_activeColor = WSkinColor::getCorrectColor(m_activeColor); } m_disabledColor = context.selectString(node, "DisabledColor"); if (m_disabledColor == "") { //vRince kind of legacy fallback ... // Read the text color, otherwise use the parent's SignalColor. m_disabledColor = signalColors.getSignalColor(); qDebug() << "Didn't get mark TextColor, using parent's <SignalColor>:" << m_disabledColor; } m_markStartPointControl = new ControlObjectThread( group, context.selectString(node, "StartControl")); m_markEndPointControl = new ControlObjectThread( group, context.selectString(node, "EndControl")); m_markEnabledControl = new ControlObjectThread( group, context.selectString(node, "EnabledControl")); }
void WTime::setTimeFormat(QDomNode node, const SkinContext& context) { // if a custom format is defined, all other formatting flags are ignored if (!context.hasNode(node, "CustomFormat")) { // check if seconds should be shown QString secondsFormat = context.selectString(node, "ShowSeconds"); if(secondsFormat == "true" || secondsFormat == "yes") { m_sTimeFormat = "h:mm:ss"; m_iInterval = s_iSecondInterval; } else { m_sTimeFormat = "h:mm"; m_iInterval = s_iMinuteInterval; } // check if 24 hour format or 12 hour format is selected QString clockFormat = context.selectString(node, "ClockFormat"); if (clockFormat == "24" || clockFormat == "24hrs") { } else if (clockFormat == "12" || clockFormat == "12hrs" || clockFormat == "12ap") { m_sTimeFormat += " ap"; } else if (clockFormat == "12AP") { m_sTimeFormat += " AP"; } else { qDebug() << "WTime: Unknown clock format: " << clockFormat; } } else { // set the time format to the custom format m_sTimeFormat = context.selectString(node, "CustomFormat"); } }
void WNumber::setup(QDomNode node, const SkinContext& context) { WLabel::setup(node, context); // Number of digits after the decimal. if (context.hasNode(node, "NumberOfDigits")) { m_iNoDigits = context.selectInt(node, "NumberOfDigits"); } setValue(0.); }
void WDisplay::setup(QDomNode node, const SkinContext& context) { // Set background pixmap if available if (context.hasNode(node, "BackPath")) { setPixmapBackground(context.getSkinPath( context.selectString(node, "BackPath"))); } // Number of states setPositions(context.selectInt(node, "NumberStates")); // Load knob pixmaps QString path = context.selectString(node, "Path"); for (int i = 0; i < m_pixmaps.size(); ++i) { setPixmap(&m_pixmaps, i, context.getSkinPath(path.arg(i))); } // See if disabled images is defined, and load them... if (context.hasNode(node, "DisabledPath")) { QString disabledPath = context.selectString(node, "DisabledPath"); for (int i = 0; i < m_disabledPixmaps.size(); ++i) { setPixmap(&m_disabledPixmaps, i, context.getSkinPath(disabledPath.arg(i))); } m_bDisabledLoaded = true; } }
void WSplitter::setup(QDomNode node, const SkinContext& context) { // Default orientation is horizontal. if (context.hasNode(node, "Orientation")) { QString layout = context.selectString(node, "Orientation"); if (layout == "vertical") { setOrientation(Qt::Vertical); } else if (layout == "horizontal") { setOrientation(Qt::Horizontal); } } }
void WSliderComposed::setup(QDomNode node, const SkinContext& context) { // Setup pixmaps unsetPixmaps(); if (context.hasNode(node, "Slider")) { PixmapSource sourceSlider = context.getPixmapSource(context.selectNode(node, "Slider")); setSliderPixmap(sourceSlider); } PixmapSource sourceHandle = context.getPixmapSource(context.selectNode(node, "Handle")); bool h = context.selectBool(node, "Horizontal", false); setHandlePixmap(h, sourceHandle); if (context.hasNode(node, "EventWhileDrag")) { if (context.selectString(node, "EventWhileDrag").contains("no")) { m_bEventWhileDrag = false; } } if (!m_connections.isEmpty()) { ControlParameterWidgetConnection* defaultConnection = m_connections.at(0); if (defaultConnection) { if (defaultConnection->getEmitOption() & ControlParameterWidgetConnection::EMIT_DEFAULT) { // ON_PRESS means here value change on mouse move during press defaultConnection->setEmitOption( ControlParameterWidgetConnection::EMIT_ON_PRESS_AND_RELEASE); } } } }
void WEffectButtonParameter::setup(QDomNode node, const SkinContext& context) { bool rackOk = false; int rackNumber = context.selectInt(node, "EffectRack", &rackOk) - 1; bool chainOk = false; int chainNumber = context.selectInt(node, "EffectUnit", &chainOk) - 1; bool effectOk = false; int effectNumber = context.selectInt(node, "Effect", &effectOk) - 1; bool parameterOk = false; int parameterNumber = context.selectInt(node, "EffectButtonParameter", ¶meterOk) - 1; // Tolerate no <EffectRack>. Use the default one. if (!rackOk) { rackNumber = 0; } if (!chainOk) { qDebug() << "EffectButtonParameterName node had invalid EffectUnit number:" << chainNumber; } if (!effectOk) { qDebug() << "EffectButtonParameterName node had invalid Effect number:" << effectNumber; } if (!parameterOk) { qDebug() << "EffectButtonParameterName node had invalid ButtonParameter number:" << parameterNumber; } EffectRackPointer pRack = m_pEffectsManager->getEffectRack(rackNumber); if (pRack) { EffectChainSlotPointer pChainSlot = pRack->getEffectChainSlot(chainNumber); if (pChainSlot) { EffectSlotPointer pEffectSlot = pChainSlot->getEffectSlot(effectNumber); if (pEffectSlot) { EffectParameterSlotBasePointer pParameterSlot = pEffectSlot->getEffectButtonParameterSlot(parameterNumber); if (pParameterSlot) { setEffectParameterSlot(pParameterSlot); } else { qDebug() << "EffectButtonParameterName node had invalid ButtonParameter number:" << parameterNumber; } } else { qDebug() << "EffectButtonParameterName node had invalid Effect number:" << effectNumber; } } else { qDebug() << "EffectButtonParameterName node had invalid EffectUnit number:" << chainNumber; } } else { qDebug() << "EffectButtonParameterName node had invalid EffectRack number:" << rackNumber; } }
void WNumber::setup(QDomNode node, const SkinContext& context) { WLabel::setup(node, context); // Number of digits // TODO(rryan): This has been unused for a long time yet our skins specify // this value all over the place. m_iNoDigits = context.selectInt(node, "NumberOfDigits"); // Constant factor if (context.hasNode(node, "ConstFactor")) { m_dConstFactor = context.selectString(node, "ConstFactor").toDouble(); } setValue(0.); }
SkinContext::SkinContext(const SkinContext& parent) : m_xmlPath(parent.m_xmlPath), m_skinBasePath(parent.m_skinBasePath), m_pConfig(parent.m_pConfig), m_variables(parent.variables()), m_pScriptEngine(parent.m_pScriptEngine), m_pScriptDebugger(parent.m_pScriptDebugger), m_parentGlobal(m_pScriptEngine->globalObject()), m_pSingletons(parent.m_pSingletons) { // we generate a new global object to preserve the scope between // a context and its children QScriptValue context = m_pScriptEngine->pushContext()->activationObject(); QScriptValue newGlobal = m_pScriptEngine->newObject(); QScriptValueIterator it(m_parentGlobal); while (it.hasNext()) { it.next(); newGlobal.setProperty(it.name(), it.value()); } m_pScriptEngine->setGlobalObject(newGlobal); for (QHash<QString, QString>::const_iterator it = m_variables.begin(); it != m_variables.end(); ++it) { m_pScriptEngine->globalObject().setProperty(it.key(), it.value()); } }
SkinContext::SkinContext(const SkinContext& parent) : m_skinBasePath(parent.m_skinBasePath), m_pConfig(parent.m_pConfig), m_variables(parent.variables()), m_pScriptEngine(parent.m_pScriptEngine), m_pScriptDebugger(parent.m_pScriptDebugger), m_parentGlobal(m_pScriptEngine->globalObject()), m_hookRx(parent.m_hookRx), m_pSvgCache(parent.m_pSvgCache), m_pSingletons(parent.m_pSingletons), m_scaleFactor(parent.m_scaleFactor) { // we generate a new global object to preserve the scope between // a context and its children setXmlPath(parent.m_xmlPath); QScriptValue context = m_pScriptEngine->pushContext()->activationObject(); QScriptValue newGlobal = m_pScriptEngine->newObject(); QScriptValueIterator it(m_parentGlobal); while (it.hasNext()) { it.next(); newGlobal.setProperty(it.name(), it.value()); } for (auto it = m_variables.constBegin(); it != m_variables.constEnd(); ++it) { newGlobal.setProperty(it.key(), it.value()); } m_pScriptEngine->setGlobalObject(newGlobal); }
void WaveformRenderMark::setup(const QDomNode& node, const SkinContext& context) { WaveformSignalColors signalColors = *m_waveformRenderer->getWaveformSignalColors(); m_marks.setup(m_waveformRenderer->getGroup(), node, context, signalColors); WaveformMarkPointer defaultMark(m_marks.getDefaultMark()); QColor defaultColor = defaultMark ? defaultMark->getProperties().fillColor() : signalColors.getAxesColor(); m_predefinedColorsRepresentation = context.getCueColorRepresentation(node, defaultColor); }
void WComboBox::setup(const QDomNode& node, const SkinContext& context) { // Load pixmaps for associated states QDomNode state = context.selectNode(node, "State"); while (!state.isNull()) { if (state.isElement() && state.nodeName() == "State") { int iState; if (!context.hasNodeSelectInt(state, "Number", &iState)) { SKIN_WARNING(state, context) << "WComboBox ignoring <State> without <Number> node."; continue; } QString text = context.selectString(state, "Text"); QString icon = context.selectString(state, "Icon"); addItem(QIcon(icon), text, QVariant(iState)); } state = state.nextSibling(); } }
SkinContext::SkinContext(const SkinContext& parent) : m_variables(parent.variables()), m_skinBasePath(parent.m_skinBasePath) { QScriptValue context = m_scriptEngine.currentContext()->activationObject(); for (QHash<QString, QString>::const_iterator it = m_variables.begin(); it != m_variables.end(); ++it) { context.setProperty(it.key(), it.value()); } }
void WaveformRendererEndOfTrack::setup(const QDomNode& node, const SkinContext& context) { m_color = QColor(200, 25, 20); const QString endOfTrackColorName = context.selectString(node, "EndOfTrackColor"); if (!endOfTrackColorName.isNull()) { m_color.setNamedColor(endOfTrackColorName); m_color = WSkinColor::getCorrectColor(m_color); } m_pen = QPen(QBrush(m_color), 2.5); }
WaveformMarkRange::WaveformMarkRange( const QString& group, const QDomNode& node, const SkinContext& context, const WaveformSignalColors& signalColors) : m_activeColor(context.selectString(node, "Color")), m_disabledColor(context.selectString(node, "DisabledColor")), m_durationTextColor(context.selectString(node, "DurationTextColor")) { if (!m_activeColor.isValid()) { //vRince kind of legacy fallback ... // As a fallback, grab the mark color from the parent's MarkerColor m_activeColor = signalColors.getAxesColor(); qDebug() << "Didn't get mark Color, using parent's <AxesColor>:" << m_activeColor; } else { m_activeColor = WSkinColor::getCorrectColor(m_activeColor); } if (!m_disabledColor.isValid()) { //vRince kind of legacy fallback ... // Read the text color, otherwise use the parent's SignalColor. m_disabledColor = signalColors.getSignalColor(); qDebug() << "Didn't get mark TextColor, using parent's <SignalColor>:" << m_disabledColor; } QString startControl = context.selectString(node, "StartControl"); if (!startControl.isEmpty()) { DEBUG_ASSERT(!m_markStartPointControl); // has not been created yet m_markStartPointControl = std::make_unique<ControlProxy>(group, startControl); } QString endControl = context.selectString(node, "EndControl"); if (!endControl.isEmpty()) { DEBUG_ASSERT(!m_markEndPointControl); // has not been created yet m_markEndPointControl = std::make_unique<ControlProxy>(group, endControl); } QString enabledControl = context.selectString(node, "EnabledControl"); if (!enabledControl.isEmpty()) { DEBUG_ASSERT(!m_markEnabledControl); // has not been created yet m_markEnabledControl = std::make_unique<ControlProxy>(group, enabledControl); } QString visibilityControl = context.selectString(node, "VisibilityControl"); if (!visibilityControl.isEmpty()) { DEBUG_ASSERT(!m_markVisibleControl); // has not been created yet ConfigKey key = ConfigKey::parseCommaSeparated(visibilityControl); m_markVisibleControl = std::make_unique<ControlProxy>(key); } QString durationTextLocation = context.selectString(node, "DurationTextLocation"); if (durationTextLocation == "before") { m_durationTextLocation = DurationTextLocation::Before; } else { m_durationTextLocation = DurationTextLocation::After; } }
void WTime::setTimeFormat(QDomNode node, const SkinContext& context) { // if a custom format is defined, all other formatting flags are ignored if (!context.hasNode(node, "CustomFormat")) { // check if seconds should be shown QString secondsFormat = context.selectString(node, "ShowSeconds"); // long format is equivalent to showing seconds QLocale::FormatType format; if(secondsFormat == "true" || secondsFormat == "yes") { format = QLocale::LongFormat; m_iInterval = s_iSecondInterval; } else { format = QLocale::ShortFormat; m_iInterval = s_iMinuteInterval; } m_sTimeFormat = QLocale().timeFormat(format); } else { // set the time format to the custom format m_sTimeFormat = context.selectString(node, "CustomFormat"); } }
void WSearchLineEdit::setup(QDomNode node, const SkinContext& context) { // Background color QColor bgc(255,255,255); if (context.hasNode(node, "BgColor")) { bgc.setNamedColor(context.selectString(node, "BgColor")); setAutoFillBackground(true); } QPalette pal = palette(); pal.setBrush(backgroundRole(), WSkinColor::getCorrectColor(bgc)); // Foreground color m_fgc = QColor(0,0,0); if (context.hasNode(node, "FgColor")) { m_fgc.setNamedColor(context.selectString(node, "FgColor")); } bgc = WSkinColor::getCorrectColor(bgc); m_fgc = QColor(255 - bgc.red(), 255 - bgc.green(), 255 - bgc.blue()); pal.setBrush(foregroundRole(), m_fgc); setPalette(pal); }
void WKnobComposed::setup(QDomNode node, const SkinContext& context) { clear(); // Set background pixmap if available if (context.hasNode(node, "BackPath")) { setPixmapBackground(context.getSkinPath(context.selectString(node, "BackPath"))); } // Set background pixmap if available if (context.hasNode(node, "Knob")) { setPixmapKnob(context.getSkinPath(context.selectString(node, "Knob"))); } if (context.hasNode(node, "MinAngle")) { m_dMinAngle = context.selectDouble(node, "MinAngle"); } if (context.hasNode(node, "MaxAngle")) { m_dMaxAngle = context.selectDouble(node, "MaxAngle"); } }
WaveformMarkProperties::WaveformMarkProperties(const QDomNode& node, const SkinContext& context, const WaveformSignalColors& signalColors) { m_color = context.selectString(node, "Color"); if (!m_color.isValid()) { // As a fallback, grab the color from the parent's AxesColor m_color = signalColors.getAxesColor(); qDebug() << "Didn't get mark <Color>, using parent's <AxesColor>:" << m_color; } else { m_color = WSkinColor::getCorrectColor(m_color); } m_textColor = context.selectString(node, "TextColor"); if (!m_textColor.isValid()) { // Read the text color, otherwise use the parent's BgColor. m_textColor = signalColors.getBgColor(); qDebug() << "Didn't get mark <TextColor>, using parent's <BgColor>:" << m_textColor; } QString markAlign = context.selectString(node, "Align"); m_align = decodeAlignmentFlags(markAlign, Qt::AlignBottom | Qt::AlignHCenter); m_text = context.selectString(node, "Text"); m_pixmapPath = context.selectString(node, "Pixmap"); if (!m_pixmapPath.isEmpty()) { m_pixmapPath = context.getSkinPath(m_pixmapPath); } }
void WaveformRendererRGB::setup(const QDomNode& node, const SkinContext& context) { WaveformRendererSignalBase::setup(node, context); m_lowColor.setNamedColor(context.selectString(node, "SignalLowColor")); if (!m_lowColor.isValid()) { m_lowColor.setRgb(255,0,0); } m_lowColor = WSkinColor::getCorrectColor(m_lowColor); m_midColor.setNamedColor(context.selectString(node, "SignalMidColor")); if (!m_midColor.isValid()) { m_midColor.setRgb(0,255,0); } m_midColor = WSkinColor::getCorrectColor(m_midColor); m_highColor.setNamedColor(context.selectString(node, "SignalHighColor")); if (!m_highColor.isValid()) { m_highColor.setRgb(0,0,255); } m_highColor = WSkinColor::getCorrectColor(m_highColor); }
bool WaveformSignalColors::setup(const QDomNode &node, const SkinContext& context) { /* QString string; QTextStream textStr(&string); node.save(textStr,4); qDebug() << string; */ m_signalColor.setNamedColor(context.selectString(node, "SignalColor")); m_signalColor = WSkinColor::getCorrectColor(m_signalColor); m_lowColor.setNamedColor(context.selectString(node, "SignalLowColor")); m_lowColor = WSkinColor::getCorrectColor(m_lowColor); m_midColor.setNamedColor(context.selectString(node, "SignalMidColor")); m_midColor = WSkinColor::getCorrectColor(m_midColor); m_highColor.setNamedColor(context.selectString(node, "SignalHighColor")); m_highColor = WSkinColor::getCorrectColor(m_highColor); m_axesColor.setNamedColor(context.selectString(node, "AxesColor")); if (!m_axesColor.isValid()) { m_axesColor = QColor(245,245,245); } m_axesColor = WSkinColor::getCorrectColor(m_axesColor); m_playPosColor.setNamedColor(context.selectString(node, "PlayPosColor")); m_playPosColor = WSkinColor::getCorrectColor(m_playPosColor); if (!m_playPosColor.isValid()) { m_playPosColor = m_axesColor; } m_bgColor.setNamedColor(context.selectString(node, "BgColor")); if (!m_bgColor.isValid()) { m_bgColor = QColor(0, 0, 0); } m_bgColor = WSkinColor::getCorrectColor(m_bgColor); bool filteredColorValid = m_lowColor.isValid() && m_midColor.isValid() && m_highColor.isValid(); if (m_signalColor.isValid() && filteredColorValid) { return true; //default } if (m_signalColor.isValid() && !filteredColorValid) { fallBackFromSignalColor(); //pre waveform-2.0 skins return false; } fallBackDefaultColor(); return false; }
WaveformMark::WaveformMark( const QString& group, const QDomNode& node, const SkinContext& context, const WaveformSignalColors& signalColors, int hotCue, QString item) : m_iHotCue(hotCue) { if(item.isEmpty()) item = context.selectString(node, "Control"); if (!item.isEmpty()) { m_pPointCos = std::make_unique<ControlProxy>(group, item); } m_properties = WaveformMarkProperties(node, context, signalColors); }
WaveformMark::WaveformMark(const QString& group, const QDomNode& node, const SkinContext& context, const WaveformSignalColors& signalColors) : m_iHotCue(kNoHotCue) { QString item = context.selectString(node, "Control"); if (!item.isEmpty()) { m_pPointCos = std::make_unique<ControlProxy>(group, item); if (item.startsWith("hotcue_") && item.endsWith("_position")) { m_iHotCue = item.mid(7, item.count() - 16).toInt() - 1; } } m_properties = WaveformMarkProperties(node, context, signalColors, m_iHotCue); }
void WaveformRendererSignalBase::setup(const QDomNode& node, const SkinContext& context) { QString alignString = context.selectString(node, "Align").toLower(); if (alignString == "bottom") { m_alignment = Qt::AlignBottom; } else if (alignString == "top") { m_alignment = Qt::AlignTop; } else { m_alignment = Qt::AlignCenter; } m_pColors = m_waveformRenderer->getWaveformSignalColors(); m_axesColor = m_pColors->getAxesColor(); onSetup(node); }
void WRecordingDuration::setup(const QDomNode& node, const SkinContext& context) { WLabel::setup(node, context); connect(m_pRecordingManager, SIGNAL(durationRecorded(QString)), this, SLOT(refreshLabel(QString))); connect(m_pRecordingManager, SIGNAL(isRecording(bool)), this, SLOT(slotRecordingInactive(bool))); // When we're recording show text from "InactiveText" node QString inactiveText; if (context.hasNodeSelectString(node, "InactiveText", &inactiveText)) { m_inactiveText = inactiveText; } else { m_inactiveText = QString("--:--"); } // Set inactiveText here already because slotRecordingInactive // is refreshed first when we start recording setText(m_inactiveText); }
void WWidgetGroup::setup(QDomNode node, const SkinContext& context) { setContentsMargins(0, 0, 0, 0); // Set background pixmap if available if (context.hasNode(node, "BackPath")) { setPixmapBackground(context.getSkinPath(context.selectString(node, "BackPath"))); } QLayout* pLayout = NULL; if (context.hasNode(node, "Layout")) { QString layout = context.selectString(node, "Layout"); if (layout == "vertical") { pLayout = new QVBoxLayout(); pLayout->setSpacing(0); pLayout->setContentsMargins(0, 0, 0, 0); pLayout->setAlignment(Qt::AlignCenter); } else if (layout == "horizontal") { pLayout = new QHBoxLayout(); pLayout->setSpacing(0); pLayout->setContentsMargins(0, 0, 0, 0); pLayout->setAlignment(Qt::AlignCenter); } } if (pLayout && context.hasNode(node, "SizeConstraint")) { QMap<QString, QLayout::SizeConstraint> constraints; constraints["SetDefaultConstraint"] = QLayout::SetDefaultConstraint; constraints["SetFixedSize"] = QLayout::SetFixedSize; constraints["SetMinimumSize"] = QLayout::SetMinimumSize; constraints["SetMaximumSize"] = QLayout::SetMaximumSize; constraints["SetMinAndMaxSize"] = QLayout::SetMinAndMaxSize; constraints["SetNoConstraint"] = QLayout::SetNoConstraint; QString sizeConstraintStr = context.selectString(node, "SizeConstraint"); if (constraints.contains(sizeConstraintStr)) { pLayout->setSizeConstraint(constraints[sizeConstraintStr]); } else { qDebug() << "Could not parse SizeConstraint:" << sizeConstraintStr; } } if (pLayout) { setLayout(pLayout); } }
void WStatusLight::setup(const QDomNode& node, const SkinContext& context) { // Number of states. Add one to account for the background. setNoPos(context.selectInt(node, "NumberPos") + 1); // Set pixmaps for (int i = 0; i < m_pixmaps.size(); ++i) { // Accept either PathStatusLight or PathStatusLight1 for value 1, QString nodeName = QString("PathStatusLight%1").arg(i); QDomElement statusLightNode; if (context.hasNodeSelectElement(node, nodeName, &statusLightNode) || (i == 0 && context.hasNodeSelectElement(node, "PathBack", &statusLightNode)) || (i == 1 && context.hasNodeSelectElement(node, "PathStatusLight", &statusLightNode))) { setPixmap(i, context.getPixmapSource(statusLightNode), context.selectScaleMode(statusLightNode, Paintable::FIXED)); } else { m_pixmaps[i].clear(); } } }
void WTrackProperty::setup(QDomNode node, const SkinContext& context) { WLabel::setup(node, context); m_property = context.selectString(node, "Property"); }
void WLabel::setup(QDomNode node, const SkinContext& context) { // Colors QPalette pal = palette(); //we have to copy out the palette to edit it since it's const (probably for threadsafety) if (context.hasNode(node, "BgColor")) { m_qBgColor.setNamedColor(context.selectString(node, "BgColor")); pal.setColor(this->backgroundRole(), WSkinColor::getCorrectColor(m_qBgColor)); setAutoFillBackground(true); } m_qFgColor.setNamedColor(context.selectString(node, "FgColor")); pal.setColor(this->foregroundRole(), WSkinColor::getCorrectColor(m_qFgColor)); setPalette(pal); // Text if (context.hasNode(node, "Text")) m_qsText = context.selectString(node, "Text"); setText(m_qsText); // Font size if (context.hasNode(node, "FontSize")) { int fontsize = 9; fontsize = context.selectString(node, "FontSize").toInt(); setFont( QFont("Helvetica",fontsize,QFont::Normal) ); } // Alignment if (context.hasNode(node, "Alignment")) { if (context.selectString(node, "Alignment") == "right") { setAlignment(Qt::AlignRight | Qt::AlignVCenter); } else if (context.selectString(node, "Alignment") == "center") { setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); } else if (context.selectString(node, "Alignment") == "left") { setAlignment(Qt::AlignLeft | Qt::AlignVCenter); } } }