void PHILinkItem::mouseout( const QGraphicsSceneHoverEvent *e ) { Q_UNUSED( e ) QWidget *w=widget(); if ( !w ) return; QColor txtCol=page()->phiPalette().color( colorRole( PHIPalette::WidgetText ) ); if ( colorRole( PHIPalette::WidgetText )==PHIPalette::Custom ) txtCol=realColor(); QColor bgCol=page()->phiPalette().color( colorRole( PHIPalette::WidgetBase ) ); if ( colorRole( PHIPalette::WidgetBase )==PHIPalette::Custom ) bgCol=realBackgroundColor(); QPalette pal=w->palette(); pal.setColor( QPalette::WindowText, txtCol ); pal.setColor( QPalette::Window, bgCol ); w->setPalette( pal ); }
void PHILabelItem::cssGraphicEffect( const PHIRequest *req, QByteArray &out, QByteArray &script ) const { if ( effect()->graphicsType()==PHIEffect::GTShadow && !(req->agentFeatures() & PHIRequest::IE678) ) { QColor c; qreal radius, xoff, yoff; effect()->shadow( c, xoff, yoff, radius ); QByteArray col=cssColor( c ); if ( !(req->agentFeatures() & PHIRequest::RGBA) ) col=c.name().toLatin1(); if ( colorRole( PHIPalette::WidgetBase )==PHIPalette::Window ) { out+=BL( "text-shadow:" )+QByteArray::number( qRound(xoff) ) +BL( "px " )+QByteArray::number( qRound(yoff) )+BL( "px " ) +QByteArray::number( qRound(radius) )+BL( "px " )+col+';'; } else { QByteArray prefix=req->agentPrefix(); if ( req->agentEngine()==PHIRequest::Trident ) prefix=QByteArray(); else if ( req->agentEngine()==PHIRequest::Gecko && req->engineMajorVersion()>1 ) prefix=QByteArray(); else if ( req->agentEngine()==PHIRequest::WebKit && req->engineMajorVersion()>534 ) prefix=QByteArray(); else if ( req->agentEngine()==PHIRequest::Presto ) prefix=QByteArray(); out+=prefix+BL( "box-shadow:" )+QByteArray::number( qRound(xoff) )+"px "; out+=QByteArray::number( qRound(yoff) )+"px "; out+=QByteArray::number( qRound(radius) )+"px "+col+';'; } } else { if ( realBackgroundColor()!=QColor( Qt::transparent ) ) PHIAbstractTextItem::cssGraphicEffect( req, out, script ); } }
/*! * \brief MelodyNoteGlyphItem::setDotGlyphCount * Set the augmentation dot glyphs. If a GlyphItem is added, it will be set * hidden. * \param dotCount */ void MelodyNoteGlyphItem::setDotGlyphCount(int dotCount) { if (m_augmentationDots.count() == dotCount) return; if (m_augmentationDots.count() < dotCount) { while (m_augmentationDots.count() < dotCount) { GlyphItem *newDot = new GlyphItem(AugmentationDot, this); newDot->connectColorRoleToGlyph(this); newDot->setVisible(false); newDot->setColorRole(colorRole()); m_augmentationDots.append(newDot); } } if (m_augmentationDots.count() > dotCount) { while (m_augmentationDots.count() > dotCount) { GlyphItem *augmentationDot = m_augmentationDots.takeLast(); if (augmentationDot != 0) { augmentationDot->setParentItem(0); delete augmentationDot; } } } }
QPen MelodyNoteGlyphItem::ledgerLinePen() const { QPen linePen; qreal ledgerLineThickness = musicFont()->engravings().legerLineThickness * musicFont()->staffSpace(); linePen.setWidthF(ledgerLineThickness); linePen.setColor(musicFont()->fontColor(colorRole())); return linePen; }
void PHILabelItem::html( const PHIRequest *req, QByteArray &out, QByteArray &script, const QByteArray &indent ) const { htmlInitItem( script, false ); if ( Q_UNLIKELY( colorRole( PHIPalette::WidgetText )==PHIPalette::Custom ) ) script+=BL( ".color('" )+cssColor( realColor() )+BL( "')" ); if ( Q_UNLIKELY( colorRole( PHIPalette::WidgetBase )==PHIPalette::Custom ) ) script+=BL( ".bgColor('" )+cssColor( realBackgroundColor() )+BL( "')" ); script+=BL( ";\n" ); out+=indent+BL( "<div" ); htmlBase( req, out, script ); out+=BL( "\"><table class=\"phi\"><tr><td id=\"" )+id()+BL( "_phit\" style=\"" ); Qt::Alignment a=static_cast<Qt::Alignment>(realAlignment()); if ( data( DFont ).isValid() ) { QFont f=data( DFont ).value<QFont>(); if ( f.underline() ) { out+=BL( "text-decoration:underline;" ); } } if ( a & Qt::AlignJustify ) out+=BL( "vertical-align:top;" ); else out+=BL( "vertical-align:middle;" ); if ( a & Qt::AlignHCenter ) out+=BL( "text-align:center;" ); else if ( a & Qt::AlignRight ) out+=BL( "text-align:right;" ); out+=BL( "\">" )+data( DText ).toByteArray()+BL( "</td></tr></table></div>\n" ); }
void WindowsModernStyle::polish( QPalette& palette ) { if ( useVista() ) QWindowsVistaStyle::polish( palette ); else QWindowsXPStyle::polish( palette ); m_mode = Classic; const int maxLength = 256; WCHAR themeFileName[ maxLength ]; WCHAR themeColor[ maxLength ]; if ( pIsAppThemed && pIsAppThemed() && pGetCurrentThemeName( themeFileName, maxLength, themeColor, maxLength, NULL, 0 ) == S_OK ) { QString name = QString::fromWCharArray( themeFileName ); QString color = QString::fromWCharArray( themeColor ); if ( name.endsWith( "Luna.msstyles" ) ) { if ( color == QLatin1String( "HomeStead" ) ) m_mode = Olive; else if ( color == QLatin1String( "Metallic" ) ) m_mode = Silver; else m_mode = Blue; } else if ( name.endsWith( "Aero.msstyles" ) ) { m_mode = Blue; } } switch ( m_mode ) { case Blue: m_colorBackgroundBegin = qRgb( 158, 190, 245 ); m_colorBackgroundEnd = qRgb( 196, 218, 250 ); m_colorMenuBorder = qRgb( 0, 45, 150 ); m_colorMenuBackground = qRgb( 246, 246, 246 ); m_colorMenuTitleBegin = qRgb( 227, 239, 255 ); m_colorMenuTitleEnd = qRgb( 123, 164, 224 ); m_colorBarBegin = qRgb( 227, 239, 255 ); m_colorBarMiddle = qRgb( 203, 225, 252 ); m_colorBarEnd = qRgb( 123, 164, 224 ); m_colorHandle = qRgb( 39, 65, 118 ); m_colorHandleLight = qRgb( 255, 255, 255 ); m_colorSeparator = qRgb( 106, 140, 203 ); m_colorSeparatorLight = qRgb( 241, 249, 255 ); m_colorItemBorder = qRgb( 0, 0, 128 ); m_colorItemBackgroundBegin = qRgb( 255, 238, 190 ); m_colorItemBackgroundMiddle = qRgb( 255, 225, 172 ); m_colorItemBackgroundEnd = qRgb( 255, 200, 125 ); m_colorItemCheckedBegin = qRgb( 255, 200, 125 ); m_colorItemCheckedMiddle = qRgb( 255, 180, 100 ); m_colorItemCheckedEnd = qRgb( 255, 150, 70 ); m_colorItemSunkenBegin = qRgb( 254, 128, 62 ); m_colorItemSunkenMiddle = qRgb( 255, 177, 109 ); m_colorItemSunkenEnd = qRgb( 255, 223, 154 ); m_colorBorder = qRgb( 68, 86, 134 ); m_colorBorderLight = qRgb( 106, 140, 203 ); break; case Silver: m_colorBackgroundBegin = qRgb( 215, 215, 229 ); m_colorBackgroundEnd = qRgb( 243, 243, 247 ); m_colorMenuBorder = qRgb( 124, 124, 148 ); m_colorMenuBackground = qRgb( 253, 250, 255 ); m_colorMenuTitleBegin = qRgb( 232, 233, 242 ); m_colorMenuTitleEnd = qRgb( 172, 170, 194 ); m_colorBarBegin = qRgb( 252, 252, 252 ); m_colorBarMiddle = qRgb( 232, 233, 242 ); m_colorBarEnd = qRgb( 172, 170, 194 ); m_colorHandle = qRgb( 84, 84, 117 ); m_colorHandleLight = qRgb( 255, 255, 255 ); m_colorSeparator = qRgb( 110, 109, 143 ); m_colorSeparatorLight = qRgb( 255, 255, 255 ); m_colorItemBorder = qRgb( 75, 75, 111 ); m_colorItemBackgroundBegin = qRgb( 255, 238, 190 ); m_colorItemBackgroundMiddle = qRgb( 255, 225, 172 ); m_colorItemBackgroundEnd = qRgb( 255, 200, 125 ); m_colorItemCheckedBegin = qRgb( 255, 200, 125 ); m_colorItemCheckedMiddle = qRgb( 255, 180, 100 ); m_colorItemCheckedEnd = qRgb( 255, 150, 70 ); m_colorItemSunkenBegin = qRgb( 254, 128, 62 ); m_colorItemSunkenMiddle = qRgb( 255, 177, 109 ); m_colorItemSunkenEnd = qRgb( 255, 223, 154 ); m_colorBorder = qRgb( 110, 109, 143 ); m_colorBorderLight = qRgb( 145, 144, 173 ); break; case Olive: m_colorBackgroundBegin = qRgb( 217, 217, 167 ); m_colorBackgroundEnd = qRgb( 242, 241, 228 ); m_colorMenuBorder = qRgb( 117, 141, 94 ); m_colorMenuBackground = qRgb( 244, 244, 238 ); m_colorMenuTitleBegin = qRgb( 237, 240, 214 ); m_colorMenuTitleEnd = qRgb( 181, 196, 143 ); m_colorBarBegin = qRgb( 255, 255, 237 ); m_colorBarMiddle = qRgb( 206, 220, 167 ); m_colorBarEnd = qRgb( 181, 196, 143 ); m_colorHandle = qRgb( 81, 94, 51 ); m_colorHandleLight = qRgb( 255, 255, 255 ); m_colorSeparator = qRgb( 96, 128, 88 ); m_colorSeparatorLight = qRgb( 244, 247, 222 ); m_colorItemBorder = qRgb( 63, 93, 56 ); m_colorItemBackgroundBegin = qRgb( 255, 238, 190 ); m_colorItemBackgroundMiddle = qRgb( 255, 225, 172 ); m_colorItemBackgroundEnd = qRgb( 255, 200, 125 ); m_colorItemCheckedBegin = qRgb( 255, 200, 125 ); m_colorItemCheckedMiddle = qRgb( 255, 180, 100 ); m_colorItemCheckedEnd = qRgb( 255, 150, 70 ); m_colorItemSunkenBegin = qRgb( 254, 128, 62 ); m_colorItemSunkenMiddle = qRgb( 255, 177, 109 ); m_colorItemSunkenEnd = qRgb( 255, 223, 154 ); m_colorBorder = qRgb( 96, 128, 88 ); m_colorBorderLight = qRgb( 151, 166, 123 ); break; case Classic: m_colorBackgroundBegin = colorRole( QPalette::Button ); m_colorBackgroundEnd = blendRoles( QPalette::Button, QPalette::Base, 0.205 ); m_colorMenuBorder = blendRoles( QPalette::Text, QPalette::Dark, 0.2 ); m_colorMenuBackground = blendRoles( QPalette::Button, QPalette::Base, 0.143 ); m_colorMenuTitleBegin = blendRoles( QPalette::Button, QPalette::Base, 0.2 ); m_colorMenuTitleEnd = blendRoles( QPalette::Button, QPalette::Base, 0.5 ); m_colorBarBegin = blendRoles( QPalette::Button, QPalette::Base, 0.2 ); m_colorBarMiddle = blendRoles( QPalette::Button, QPalette::Base, 0.5 ); m_colorBarEnd = colorRole( QPalette::Button ); m_colorHandle = blendRoles( QPalette::Dark, QPalette::Base, 0.75 ); m_colorHandleLight = colorRole( QPalette::Light ); m_colorSeparator = blendRoles( QPalette::Dark, QPalette::Base, 0.7 ); m_colorSeparatorLight = colorRole( QPalette::Light ); m_colorItemBorder = colorRole( QPalette::Highlight ); m_colorItemBackgroundBegin = blendRoles( QPalette::Highlight, QPalette::Base, 0.3 ); m_colorItemBackgroundMiddle = m_colorItemBackgroundEnd = m_colorItemBackgroundBegin; m_colorItemCheckedBegin = blendRoles( QPalette::Highlight, QPalette::Base, 0.15 ); m_colorItemCheckedMiddle = m_colorItemCheckedEnd = m_colorItemCheckedBegin; m_colorItemSunkenBegin = blendRoles( QPalette::Highlight, QPalette::Base, 0.45 ); m_colorItemSunkenMiddle = m_colorItemSunkenEnd = m_colorItemSunkenBegin; m_colorBorder = colorRole( QPalette::Dark ); m_colorBorderLight = blendRoles( QPalette::Dark, QPalette::Base, 0.8 ); break; } }