Ejemplo n.º 1
0
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 );
}
Ejemplo n.º 2
0
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 );
    }
}
Ejemplo n.º 3
0
/*!
 * \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;
            }
        }
    }
}
Ejemplo n.º 4
0
QPen MelodyNoteGlyphItem::ledgerLinePen() const
{
    QPen linePen;
    qreal ledgerLineThickness = musicFont()->engravings().legerLineThickness * musicFont()->staffSpace();
    linePen.setWidthF(ledgerLineThickness);
    linePen.setColor(musicFont()->fontColor(colorRole()));

    return linePen;
}
Ejemplo n.º 5
0
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" );
}
Ejemplo n.º 6
0
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;
	}
}