void CsvIm::loadFile() { QString text = ""; QByteArray rawText; if (loadRawText(filename, rawText)) text = toUnicode(rawText); QStringList lines = text.split("\n", QString::SkipEmptyParts); uint i; if (hasHeader) { colIndex = 0; parseLine(lines[0], true); header += "\n"; colCount = colIndex; i = 1; ++rowNumber; } else i = 0; for (int i2 = i; i2 < lines.size(); ++i2) { colIndex = 0; parseLine(lines[i2], false); data += "\n"; ++rowNumber; if (colCount < colIndex) colCount = colIndex; } }
QStringList PrinterUtil::getPrinterNames() { QString printerName; QStringList printerNames; #if defined (HAVE_CUPS) cups_dest_t *dests; int num_dests = cupsGetDests(&dests); for (int pr = 0; pr < num_dests; ++pr) { printerName = QString(dests[pr].name); printerNames.append(printerName); } cupsFreeDests(num_dests, dests); #elif defined(_WIN32) DWORD size; DWORD numPrinters; PRINTER_INFO_2W* printerInfos = NULL; EnumPrintersW ( PRINTER_ENUM_LOCAL|PRINTER_ENUM_CONNECTIONS , NULL, 2, NULL, 0, &size, &numPrinters ); printerInfos = (PRINTER_INFO_2W*) malloc(size); if ( EnumPrintersW ( PRINTER_ENUM_LOCAL|PRINTER_ENUM_CONNECTIONS, NULL, 2, (LPBYTE) printerInfos, size, &size, &numPrinters ) ) { for ( uint i = 0; i < numPrinters; i++) { printerName = QString::fromUtf16( (const ushort*) printerInfos[i].pPrinterName ); printerNames.append(printerName); } printerNames.sort(); } if ( printerInfos) free(printerInfos); #else QString tmp; QStringList wt; QByteArray printCap; if (loadRawText("/etc/printcap", printCap)) { QDataStream ts(&printCap, QIODevice::ReadOnly); while(!ts.atEnd()) { tmp = readLinefromDataStream(ts); if (tmp.isEmpty()) continue; if ((tmp[0] != '#') && (tmp[0] != ' ') && (tmp[0] != '\n') && (tmp[0] != '\t')) { tmp = tmp.trimmed(); tmp = tmp.left(tmp.length() - (tmp.right(2) == ":\\" ? 2 : 1)); wt = tmp.split("|", QString::SkipEmptyParts); printerName = wt[0]; printerNames.append(printerName); } } } #endif return printerNames; }
void CsvIm::loadFile() { QString text = ""; /* QFile f(filename); QFileInfo fi(f); if (!fi.exists()) return; QByteArray bb(f.size(), ' '); if (f.open(QIODevice::ReadOnly)) { f.read(bb.data(), f.size()); f.close(); for (int posi = 0; posi < bb.size(); ++posi) text += QChar(bb[posi]); } text = toUnicode(text); */ QByteArray rawText; if (loadRawText(filename, rawText)) text = toUnicode(rawText); QStringList lines = text.split("\n", QString::SkipEmptyParts); uint i=0; if (hasHeader) { colIndex = 0; parseLine(lines[0], true); header += "\n"; colCount = colIndex; i = 1; ++rowNumber; } for (int i2 = i; i2 < lines.size(); ++i2) { colIndex = 0; parseLine(lines[i2], false); data += "\n"; ++rowNumber; if (colCount < colIndex) colCount = colIndex; } }
void ShapePalette::readFromPrefs() { QString prFile = QDir::toNativeSeparators(PrefsManager::instance()->preferencesLocation()+"/scribusshapes.xml"); QFileInfo fi(prFile); if (fi.exists()) { QByteArray docBytes(""); loadRawText(prFile, docBytes); QString docText(""); docText = QString::fromUtf8(docBytes); QDomDocument docu("scridoc"); docu.setContent(docText); QDomElement docElem = docu.documentElement(); for(QDomElement drawPag = docElem.firstChildElement(); !drawPag.isNull(); drawPag = drawPag.nextSiblingElement() ) { if (drawPag.tagName() == "file") { ShapeViewWidget = new ShapeView(this); ShapeViewWidget->m_scMW = m_scMW; Frame3->addItem(ShapeViewWidget, drawPag.attribute("name")); for(QDomElement dpg = drawPag.firstChildElement(); !dpg.isNull(); dpg = dpg.nextSiblingElement() ) { if (dpg.tagName() == "shape") { shapeData shData; shData.height = dpg.attribute("height", "1").toInt(); shData.width = dpg.attribute("width", "1").toInt(); shData.path.parseSVG(dpg.attribute("path")); shData.name = dpg.attribute("name"); ShapeViewWidget->m_Shapes.insert(dpg.attribute("uuid"), shData); } } ShapeViewWidget->updateShapeList(); } } if (Frame3->count() > 0) Frame3->setCurrentIndex(0); } }
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"; }
bool PaletteLoader_Autocad_acb::importFile(const QString& fileName, bool /*merge*/) { QByteArray docBytes; loadRawText(fileName, docBytes); QString docText = QString::fromUtf8(docBytes); QDomDocument docu("scridoc"); if (!docu.setContent(docText)) return false; ScColor lf; int oldCount = m_colors->count(); QDomElement elem = docu.documentElement(); QDomNode PAGE = elem.firstChild(); while (!PAGE.isNull()) { QDomElement pg = PAGE.toElement(); if (pg.tagName() == "colorPage") { QDomNode colNode = pg.firstChild(); while (!colNode.isNull()) { QDomElement cg = colNode.toElement(); if (cg.tagName() == "colorEntry") { int r (0), g(0), b(0); QString colorName = ""; QDomNode colEntry = cg.firstChild(); while (!colEntry.isNull()) { QDomElement cc = colEntry.toElement(); if (cc.tagName() == "colorName") colorName = cc.text(); else if (cc.tagName() == "RGB8") { QDomNode colVal = cc.firstChild(); while (!colVal.isNull()) { QDomElement cv = colVal.toElement(); if (cv.tagName() == "red") r = cv.text().toInt(); else if (cv.tagName() == "green") g = cv.text().toInt(); else if (cv.tagName() == "blue") b = cv.text().toInt(); colVal = colVal.nextSibling(); } } colEntry = colEntry.nextSibling(); } if (!colorName.isEmpty()) { lf.setRgbColor(r, g, b); lf.setSpotColor(false); lf.setRegistrationColor(false); m_colors->tryAddColor(colorName, lf); } } colNode = colNode.nextSibling(); } } PAGE = PAGE.nextSibling(); } return (m_colors->count() != oldCount); }
void FDialogPreview::GenPreview(QString name) { QPixmap pm; QString Buffer = ""; updtPix(); if (name.isEmpty()) return; QFileInfo fi = QFileInfo(name); if (fi.isDir()) return; int w = pixmap()->width(); int h = pixmap()->height(); bool mode = false; QString ext = fi.suffix().toLower(); QString formatD(FormatsManager::instance()->extensionListForFormat(FormatsManager::IMAGESIMGFRAME, 1)); QStringList formats = formatD.split("|"); formats.append("pat"); QStringList allFormatsV = LoadSavePlugin::getExtensionsForPreview(FORMATID_ODGIMPORT); if (ext.isEmpty()) ext = getImageType(name); if (formats.contains(ext.toUtf8())) { ScImage im; //No doc to send data anyway, so no doc to get into scimage. CMSettings cms(0, "", Intent_Perceptual); cms.allowColorManagement(false); if (im.loadPicture(name, 1, cms, ScImage::Thumbnail, 72, &mode)) { int ix,iy; if ((im.imgInfo.exifDataValid) && (!im.imgInfo.exifInfo.thumbnail.isNull())) { ix = im.imgInfo.exifInfo.width; iy = im.imgInfo.exifInfo.height; } else { ix = im.width(); iy = im.height(); } int xres = im.imgInfo.xres; int yres = im.imgInfo.yres; QString tmp = ""; QString tmp2 = ""; QImage im2 = im.scaled(w - 5, h - 44, Qt::KeepAspectRatio, Qt::SmoothTransformation); QPainter p; QBrush b(QColor(205,205,205), loadIcon("testfill.png")); // Qt4 FIXME imho should be better pm = *pixmap(); p.begin(&pm); p.fillRect(0, 0, w, h-44, b); p.fillRect(0, h-44, w, 44, QColor(255, 255, 255)); p.drawImage((w - im2.width()) / 2, (h - 44 - im2.height()) / 2, im2); p.drawText(2, h-29, tr("Size:")+" "+tmp.setNum(ix)+" x "+tmp2.setNum(iy)); p.drawText(2, h-17, tr("Resolution:")+" "+tmp.setNum(xres)+" x "+tmp2.setNum(yres)+" "+ tr("DPI")); QString cSpace; if ((extensionIndicatesPDF(ext) || extensionIndicatesEPSorPS(ext)) && (im.imgInfo.type != ImageType7)) cSpace = tr("Unknown"); else cSpace=colorSpaceText(im.imgInfo.colorspace); p.drawText(2, h-5, tr("Colorspace:")+" "+cSpace); p.end(); setPixmap(pm); repaint(); } } else if (allFormatsV.contains(ext.toUtf8())) { FileLoader *fileLoader = new FileLoader(name); int testResult = fileLoader->TestFile(); delete fileLoader; if ((testResult != -1) && (testResult >= FORMATID_ODGIMPORT)) { const FileFormat * fmt = LoadSavePlugin::getFormatById(testResult); if( fmt ) { QImage im = fmt->readThumbnail(name); if (!im.isNull()) { QString desc = tr("Size:")+" "; desc += value2String(im.text("XSize").toDouble(), PrefsManager::instance()->appPrefs.docSetupPrefs.docUnitIndex, true, true); desc += " x "; desc += value2String(im.text("YSize").toDouble(), PrefsManager::instance()->appPrefs.docSetupPrefs.docUnitIndex, true, true); im = im.scaled(w - 5, h - 21, Qt::KeepAspectRatio, Qt::SmoothTransformation); QPainter p; QBrush b(QColor(205,205,205), loadIcon("testfill.png")); pm = *pixmap(); p.begin(&pm); p.fillRect(0, 0, w, h-21, b); p.fillRect(0, h-21, w, 21, QColor(255, 255, 255)); p.drawImage((w - im.width()) / 2, (h - 21 - im.height()) / 2, im); p.drawText(2, h-5, desc); p.end(); setPixmap(pm); repaint(); } } } } else if (ext.toUtf8() == "sml") { QPixmap pmi; QByteArray cf; if (loadRawText(name, cf)) { QString f = QString::fromUtf8(cf.data()); StencilReader *pre = new StencilReader(); pmi = pre->createPreview(f); QImage im = pmi.toImage(); im = im.scaled(w - 5, h - 21, Qt::KeepAspectRatio, Qt::SmoothTransformation); QPainter p; QBrush b(QColor(205,205,205), loadIcon("testfill.png")); pm = *pixmap(); p.begin(&pm); p.fillRect(0, 0, w, h-21, b); p.fillRect(0, h-21, w, 21, QColor(255, 255, 255)); p.drawImage((w - im.width()) / 2, (h - 21 - im.height()) / 2, im); QString desc = tr("Size:")+QString(" %1 x %2").arg(im.width()).arg(im.height()); p.drawText(2, h-5, desc); p.end(); setPixmap(pm); repaint(); delete pre; } } else if (ext.toUtf8() == "shape") { QByteArray cf; if (loadRawText(name, cf)) { QString f = QString::fromUtf8(cf.data()); StencilReader *pre = new StencilReader(); QString f2 = pre->createShape(f); ScPreview *pre2 = new ScPreview(); QImage im = pre2->createPreview(f2); im = im.scaled(w - 5, h - 21, Qt::KeepAspectRatio, Qt::SmoothTransformation); QPainter p; QBrush b(QColor(205,205,205), loadIcon("testfill.png")); pm = *pixmap(); p.begin(&pm); p.fillRect(0, 0, w, h-21, b); p.fillRect(0, h-21, w, 21, QColor(255, 255, 255)); p.drawImage((w - im.width()) / 2, (h - 21 - im.height()) / 2, im); QString desc = tr("Size:")+QString(" %1 x %2").arg(im.width()).arg(im.height()); p.drawText(2, h-5, desc); p.end(); setPixmap(pm); repaint(); delete pre; delete pre2; } } else if (ext.toUtf8() == "sce") { QByteArray cf; if (loadRawText(name, cf)) { QString f; if (cf.left(16) == "<SCRIBUSELEMUTF8") f = QString::fromUtf8(cf.data()); else f = cf.data(); ScPreview *pre = new ScPreview(); QImage im = pre->createPreview(f); im = im.scaled(w - 5, h - 21, Qt::KeepAspectRatio, Qt::SmoothTransformation); QPainter p; QBrush b(QColor(205,205,205), loadIcon("testfill.png")); pm = *pixmap(); p.begin(&pm); p.fillRect(0, 0, w, h-21, b); p.fillRect(0, h-21, w, 21, QColor(255, 255, 255)); p.drawImage((w - im.width()) / 2, (h - 21 - im.height()) / 2, im); QString desc = tr("Size:")+QString(" %1 x %2").arg(im.width()).arg(im.height()); p.drawText(2, h-5, desc); p.end(); setPixmap(pm); repaint(); delete pre; } } else { ScSlaInfoReader slaInfos; if (slaInfos.readInfos(name)) { QString Title = tr("Title:")+" "; QString ti2 = slaInfos.title(); if (ti2.isEmpty()) ti2= tr("No Title"); Title += ti2+"\n"; QString Author = tr("Author:")+" "; QString au2 = slaInfos.author(); if (au2.isEmpty()) au2 = tr("Unknown"); Author += au2+"\n"; QString Format = tr("File Format:")+" "; QString fm2 = slaInfos.format(); if (fm2.isEmpty()) fm2 = tr("Unknown"); Format += fm2; setText( tr("Scribus Document")+"\n\n"+Title+Author+Format); } else if ((ext == "txt") || (ext == "html") || (ext == "xml")) { if (loadText(name, &Buffer)) setText(Buffer.left(200)); } } }
void TxtIm::loadText() { QByteArray rawText; if (loadRawText(filename, rawText)) text = toUnicode(rawText); }