void gradientManagerDialog::loadGimpFormat(QString fileName) { QFile f(fileName); if (f.open(QIODevice::ReadOnly)) { ScTextStream ts(&f); QString tmp, dummy; QString gradientName = ""; int numEntrys = 0; int entryCount = 0; int stopCount = 0; double left, middle, right, r0, g0, b0, a0, r1, g1, b1, a1, oldr1, oldg1, oldb1, olda1; tmp = ts.readLine(); if (tmp.startsWith("GIMP Gradient")) { tmp = ts.readLine(); ScTextStream CoE(&tmp, QIODevice::ReadOnly); CoE >> dummy; gradientName = CoE.readAll().trimmed(); }
bool PaletteLoader_Swatchbook::importFile(const QString& fileName, bool /*merge*/) { ScColor lf; int oldCount = m_colors->count(); QScopedPointer<ScZipHandler> uz(new ScZipHandler()); if (!uz->open(fileName)) return false; if (!uz->contains("swatchbook.xml")) return false; QByteArray docBytes; if (!uz->read("swatchbook.xml", docBytes)) return false; QString docText = QString::fromUtf8(docBytes); QDomDocument docu("scridoc"); if (!docu.setContent(docText)) return false; QDomElement docElem = docu.documentElement(); for (QDomElement drawPag = docElem.firstChildElement(); !drawPag.isNull(); drawPag = drawPag.nextSiblingElement()) { if (drawPag.tagName() == "materials") { for (QDomElement spf = drawPag.firstChildElement(); !spf.isNull(); spf = spf.nextSiblingElement() ) { if (spf.tagName() == "color") { bool isSpot = spf.attribute("usage") == "spot"; QString colorName = ""; ScColor tmp; tmp.setRegistrationColor(false); for (QDomElement spp = spf.firstChildElement(); !spp.isNull(); spp = spp.nextSiblingElement() ) { if (spp.tagName() == "metadata") { for (QDomElement spm = spp.firstChildElement(); !spm.isNull(); spm = spm.nextSiblingElement() ) { if (spm.tagName() == "dc:identifier") colorName = spm.text(); } } else if (spp.tagName() == "values") { QString colorVals = spp.text(); ScTextStream CoE(&colorVals, QIODevice::ReadOnly); if (spp.attribute("model") == "Lab") { double inC[3]; CoE >> inC[0]; CoE >> inC[1]; CoE >> inC[2]; tmp.setLabColor(inC[0], inC[1], inC[2]); tmp.setSpotColor(isSpot); } else if (spp.attribute("model") == "CMYK") { double c, m, y, k; CoE >> c >> m >> y >> k; tmp.setColorF(c, m, y, k); tmp.setSpotColor(isSpot); } else if (spp.attribute("model") == "RGB") { double r, g, b; CoE >> r >> g >> b; tmp.setRgbColorF(r, g, b); tmp.setSpotColor(false); }
void ColorSetManager::initialiseDefaultPrefs(struct ApplicationPrefs& appPrefs) { QString defaultSwatch = ScPaths::instance().shareDir() + "swatches/" + "Scribus_Basic.xml"; QFile fiC(defaultSwatch); if (!fiC.exists()) { appPrefs.colorPrefs.DColors.insert("White", ScColor(0, 0, 0, 0)); appPrefs.colorPrefs.DColors.insert("Black", ScColor(0, 0, 0, 255)); ScColor cc = ScColor(255, 255, 255, 255); cc.setRegistrationColor(true); appPrefs.colorPrefs.DColors.insert("Registration", cc); appPrefs.colorPrefs.DColors.insert("Blue", ScColor(255, 255, 0, 0)); appPrefs.colorPrefs.DColors.insert("Cyan", ScColor(255, 0, 0, 0)); appPrefs.colorPrefs.DColors.insert("Green", ScColor(255, 0, 255, 0)); appPrefs.colorPrefs.DColors.insert("Red", ScColor(0, 255, 255, 0)); appPrefs.colorPrefs.DColors.insert("Yellow", ScColor(0, 0, 255, 0)); appPrefs.colorPrefs.DColors.insert("Magenta", ScColor(0, 255, 0, 0)); appPrefs.colorPrefs.DColorSet = "Scribus_Small"; } else { if (fiC.open(QIODevice::ReadOnly)) { QString ColorEn, Cname; int Rval, Gval, Bval; QTextStream tsC(&fiC); ColorEn = tsC.readLine(); if (ColorEn.startsWith("<?xml version=")) { QByteArray docBytes(""); loadRawText(defaultSwatch, docBytes); QString docText(""); docText = QString::fromUtf8(docBytes); QDomDocument docu("scridoc"); docu.setContent(docText); ScColor lf = ScColor(); QDomElement elem = docu.documentElement(); QDomNode PAGE = elem.firstChild(); while(!PAGE.isNull()) { QDomElement pg = PAGE.toElement(); if(pg.tagName()=="COLOR" && pg.attribute("NAME")!=CommonStrings::None) { if (pg.hasAttribute("CMYK")) lf.setNamedColor(pg.attribute("CMYK")); else lf.fromQColor(QColor(pg.attribute("RGB"))); if (pg.hasAttribute("Spot")) lf.setSpotColor(static_cast<bool>(pg.attribute("Spot").toInt())); else lf.setSpotColor(false); if (pg.hasAttribute("Register")) lf.setRegistrationColor(static_cast<bool>(pg.attribute("Register").toInt())); else lf.setRegistrationColor(false); appPrefs.colorPrefs.DColors.insert(pg.attribute("NAME"), lf); } PAGE=PAGE.nextSibling(); } } else { while (!tsC.atEnd()) { ColorEn = tsC.readLine(); QTextStream CoE(&ColorEn, QIODevice::ReadOnly); CoE >> Rval; CoE >> Gval; CoE >> Bval; CoE >> Cname; ScColor tmp; tmp.setColorRGB(Rval, Gval, Bval); appPrefs.colorPrefs.DColors.insert(Cname, tmp); } } fiC.close(); } appPrefs.colorPrefs.DColorSet = ScPaths::instance().shareDir() + "swatches/" + "Scribus Basic"; }