void QtGradientUtils::restoreState(QtGradientManager *manager, const QString &state)
{
    manager->clear();

    QDomDocument doc;
    doc.setContent(state);

    QDomElement rootElem = doc.documentElement();

    QDomElement gradElem = rootElem.firstChildElement();
    while (!gradElem.isNull()) {
        const QString name = gradElem.attribute(QLatin1String("name"));
        const QGradient gradient = loadGradient(gradElem.firstChildElement());

        manager->addGradient(name, gradient);
        gradElem = gradElem.nextSiblingElement();
    }
}
Esempio n. 2
0
void Tab::paintEvent(QPaintEvent *event)
{
	QImage image(QSize(150,20), QImage::Format_ARGB32_Premultiplied);
	QPainter painter(&image);
	painter.setRenderHint(QPainter::Antialiasing, true);
	painter.setPen(QPen(Qt::black,1, Qt::SolidLine, Qt::RoundCap));
	QLinearGradient gradient(0,0,0,20);
	if(index == currentTab) //means that the tab is selected
	{
		gradient.setColorAt(0.0, Qt::white);
		gradient.setColorAt(0.3, Qt::white);
		gradient.setColorAt(1.0, QColor("#FF925F"));
	}
	else
	{
		gradient.setColorAt(0.0, Qt::white);
		gradient.setColorAt(1.0, QColor("#AAAAAA"));
	}
	painter.setBrush(gradient);
	painter.drawRoundedRect(0,0,150,20,5,5);

	QLinearGradient loadGradient(0,0,0,20);

	if(loading)
	{
		loadGradient.setColorAt(0.0, QColor("#EEFFEE"));
		loadGradient.setColorAt(1.0, QColor("#44EE44"));
		painter.setBrush(loadGradient);
		painter.setPen(QPen(Qt::black,0.5, Qt::SolidLine, Qt::RoundCap));
		painter.drawRoundedRect(0,0,(150*LoadProgress/100),20,5,5);
	}

//	painter.setPen(QPen(Qt::black,1, Qt::SolidLine, Qt::RoundCap));
	if(!mouseOverIcon)
	{
		if(iconSet)
		{
			painter.drawPixmap(2,2,icon);
		}
		else
		{
			painter.drawPixmap(2,2,QPixmap(":/icons/arrow-down.png").scaled(16,16));
		}
	}
	else
	{
		painter.drawPixmap(2,2,QPixmap(":/icons/arrow-down.png").scaled(16,16));
	}

	if(textSet)
	{
		painter.drawText(24,1,120,20, Qt::AlignLeft, text);
	}
	else
	{
		painter.drawText(24,1,120,20, Qt::AlignLeft, tr("Untitled")); //24,2,120,20
	}
	painter.end();
	QPainter widgetPainter(this);
	widgetPainter.drawImage(0,0,image);
}