[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kst-plot] src: Save alpha channel for curves.
From: Barth Netterfield <netterfield () astro ! utoronto ! ca>
Date: 2014-06-30 19:50:25
Message-ID: E1X1har-0006nx-Mu () scm ! kde ! org
[Download RAW message or body]
Git commit 2af880cbd417427cbf422c3114c81c8e3f333c6f by Barth Netterfield.
Committed on 30/06/2014 at 19:45.
Pushed by netterfield into branch 'master'.
Save alpha channel for curves.
M +3 -0 src/libkstmath/curve.cpp
M +39 -8 src/libkstmath/curvefactory.cpp
M +3 -4 src/widgets/colorbutton.cpp
http://commits.kde.org/kst-plot/2af880cbd417427cbf422c3114c81c8e3f333c6f
diff --git a/src/libkstmath/curve.cpp b/src/libkstmath/curve.cpp
index fb3bb66..e437936 100644
--- a/src/libkstmath/curve.cpp
+++ b/src/libkstmath/curve.cpp
@@ -300,8 +300,11 @@ void Curve::save(QXmlStreamWriter &s) {
s.writeAttribute("erroryminusvector", _inputVectors[EYMINUSVECTOR]->Name());
}
s.writeAttribute("color", Color.name());
+ s.writeAttribute("alpha", QString::number(Color.alpha()));
s.writeAttribute("headcolor", HeadColor.name());
+ s.writeAttribute("headalpha", QString::number(HeadColor.alpha()));
s.writeAttribute("barfillcolor", BarFillColor.name());
+ s.writeAttribute("barfillalpha", QString::number(BarFillColor.alpha()));
s.writeAttribute("haslines", QVariant(HasLines).toString());
s.writeAttribute("linewidth", QString::number(LineWidth));
diff --git a/src/libkstmath/curvefactory.cpp b/src/libkstmath/curvefactory.cpp
index 244838e..927394c 100644
--- a/src/libkstmath/curvefactory.cpp
+++ b/src/libkstmath/curvefactory.cpp
@@ -35,9 +35,16 @@ RelationPtr CurveFactory::generateRelation(ObjectStore *store, \
QXmlStreamReader&
int lineStyle=0, lineWidth=0, pointType=0, pointDensity=0, pointSize = 0, \
headType=0; QString xVectorName, yVectorName, legend, errorXVectorName, \
errorYVectorName, errorXMinusVectorName;
- QString errorYMinusVectorName, color, headColor;
- QString barFillColor;
+ QString errorYMinusVectorName;
+ QString colorName;
+ QString headColorName;
+ QString barFillColorName;
QString descriptiveName;
+ int alpha = 255;
+ int barFillAlpha = 255;
+ int headAlpha = 255;
+ QString alphaStr;
+
bool hasLines=true, hasPoints=false, hasBars=false, ignoreAutoScale=false, \
hasHead=false;
while (!xml.atEnd()) {
@@ -48,9 +55,23 @@ RelationPtr CurveFactory::generateRelation(ObjectStore *store, \
QXmlStreamReader& xVectorName = attrs.value("xvector").toString();
yVectorName = attrs.value("yvector").toString();
legend = attrs.value("legend").toString();
- color = attrs.value("color").toString();
- headColor = attrs.value("headcolor").toString();
- barFillColor = attrs.value("barfillcolor").toString();
+ colorName = attrs.value("color").toString();
+ headColorName = attrs.value("headcolor").toString();
+ barFillColorName = attrs.value("barfillcolor").toString();
+
+ alphaStr = attrs.value("alpha").toString();
+ if (!alphaStr.isEmpty()) {
+ alpha = alphaStr.toInt();
+ }
+ alphaStr = attrs.value("headalpha").toString();
+ if (!alphaStr.isEmpty()) {
+ headAlpha = alphaStr.toInt();
+ }
+ alphaStr = attrs.value("barfillalpha").toString();
+ if (!alphaStr.isEmpty()) {
+ barFillAlpha = alphaStr.toInt();
+ }
+
errorXVectorName = attrs.value("errorxvector").toString();
errorYVectorName = attrs.value("erroryvector").toString();
@@ -147,13 +168,23 @@ RelationPtr CurveFactory::generateRelation(ObjectStore *store, \
QXmlStreamReader& curve->setYError(errorYVector);
curve->setXMinusError(errorXMinusVector);
curve->setYMinusError(errorYMinusVector);
- curve->setColor(QColor(color));
+
+ QColor color(colorName);
+ color.setAlpha(alpha);
+ curve->setColor(color);
+
+ QColor headColor(colorName);
+ headColor.setAlpha(headAlpha);
curve->setHeadColor(QColor(headColor));
- if (barFillColor.isEmpty()) {
+
+ if (barFillColorName.isEmpty()) {
curve->setBarFillColor(curve->color());
} else {
- curve->setBarFillColor(QColor(barFillColor));
+ QColor barFillColor(barFillColorName);
+ barFillColor.setAlpha(barFillAlpha);
+ curve->setBarFillColor(barFillColor);
}
+
curve->setHasPoints(hasPoints);
curve->setHasLines(hasLines);
curve->setHasBars(hasBars);
diff --git a/src/widgets/colorbutton.cpp b/src/widgets/colorbutton.cpp
index c8627d5..f5db857 100644
--- a/src/widgets/colorbutton.cpp
+++ b/src/widgets/colorbutton.cpp
@@ -80,10 +80,9 @@ void ColorButton::chooseColor() {
if (_color == Qt::transparent) {
_color = Qt::black;
}
- QRgb rgba = QColorDialog::getRgba(_color.rgba(), &ok, parentWidget());
- if (ok) {
- QColor color;
- color.setRgba(rgba);
+ QColor color = QColorDialog::getColor(_color, parentWidget(), "Choose Color", \
QColorDialog::ShowAlphaChannel); +
+ if (color.isValid()) {
setColor(color);
}
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic