r21596 by jghali - #14422: Patch to fix utilformat.cpp formatting
scribus-commit
scribus-commit at lists.scribus.net
Tue Dec 6 13:25:50 UTC 2016
Author: jghali
Date: Tue Dec 6 13:25:50 2016
New Revision: 21596
URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=21596
Log:
#14422: Patch to fix utilformat.cpp formatting
Modified:
trunk/Scribus/scribus/util_formats.cpp
Modified: trunk/Scribus/scribus/util_formats.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=21596&path=/trunk/Scribus/scribus/util_formats.cpp
==============================================================================
--- trunk/Scribus/scribus/util_formats.cpp (original)
+++ trunk/Scribus/scribus/util_formats.cpp Tue Dec 6 13:25:50 2016
@@ -1,418 +1,418 @@
-/*
-For general Scribus (>=1.3.2) copyright and licensing information please refer
-to the COPYING file provided with the program. Following this notice may exist
-a copyright and/or license notice that predates the release of Scribus 1.3.2
-for which a new license (GPL+exception) is in place.
-*/
-
-#include <QDebug>
-#include <QImageReader>
-#include <QMapIterator>
-#include <QObject>
-
-#include "commonstrings.h"
-#include "util_formats.h"
-
-#ifdef GMAGICK_FOUND
-#include <magick/api.h>
-#include <magick/magick.h>
-//#include <magick/memory.h>
-#include <magick/symbols.h>
-#endif
-
-FormatsManager* FormatsManager::m_instance = 0;
-
-FormatsManager::FormatsManager()
-{
- m_fmts.insert(FormatsManager::AI, QStringList() << "ai");
- m_fmts.insert(FormatsManager::BMP, QStringList() << "bmp");
- m_fmts.insert(FormatsManager::CVG, QStringList() << "cvg");
- m_fmts.insert(FormatsManager::EPS, QStringList() << "eps" << "epsf" << "epsi" << "eps2" << "eps3" << "epi" << "ept");
- m_fmts.insert(FormatsManager::GIF, QStringList() << "gif");
- m_fmts.insert(FormatsManager::JPEG, QStringList() << "jpg" << "jpeg");
- m_fmts.insert(FormatsManager::ORA, QStringList() << "ora");
- m_fmts.insert(FormatsManager::KRA, QStringList() << "kra");
- m_fmts.insert(FormatsManager::PAT, QStringList() << "pat");
- m_fmts.insert(FormatsManager::PCT, QStringList() << "pct" << "pic" << "pict");
- m_fmts.insert(FormatsManager::PDF, QStringList() << "pdf");
- m_fmts.insert(FormatsManager::PGF, QStringList() << "pgf");
- m_fmts.insert(FormatsManager::PNG, QStringList() << "png");
- m_fmts.insert(FormatsManager::PS, QStringList() << "ps");
- m_fmts.insert(FormatsManager::PSD, QStringList() << "psd");
- m_fmts.insert(FormatsManager::SVG, QStringList() << "svg" << "svgz");
- m_fmts.insert(FormatsManager::TIFF, QStringList() << "tif" << "tiff");
- m_fmts.insert(FormatsManager::UNICONV, QStringList() << "cdt" << "ccx" << "cmx" << "aff" << "sk" << "sk1" << "plt" << "dxf" << "dst" << "pes" << "exp" << "pcs");
- m_fmts.insert(FormatsManager::WMF, QStringList() << "wmf");
- m_fmts.insert(FormatsManager::WPG, QStringList() << "wpg");
- m_fmts.insert(FormatsManager::XFIG, QStringList() << "fig");
- m_fmts.insert(FormatsManager::XPM, QStringList() << "xpm");
-
-#ifdef GMAGICK_FOUND
- QStringList gmagickformats;
- InitializeMagick(0);
- ExceptionInfo exception;
- MagickInfo **magick_array;
- magick_array=GetMagickInfoArray(&exception);
- if (!magick_array)
- return;
- for (int i=0; magick_array[i] != 0; i++)
- {
- if (magick_array[i]->stealth)
- continue;
- gmagickformats<<QString(magick_array[i]->name).toLower();
- }
- MagickFree(magick_array);
- //qDebug()<<gmagickformats;
- gmagickformats.removeAll("eps");
- gmagickformats.removeAll("html");
- gmagickformats.removeAll("pdf");
- gmagickformats.removeAll("pict");
- gmagickformats.removeAll("ps");
- gmagickformats.removeAll("psd");
- gmagickformats.removeAll("svg");
- gmagickformats.removeAll("svgz");
- gmagickformats.removeAll("tiff");
- gmagickformats.removeAll("txt");
- gmagickformats.removeAll("wmf");
- gmagickformats.removeAll("wpg");
- m_fmts.insert(FormatsManager::GMAGICK, gmagickformats);
-#endif
-
- m_fmtNames[FormatsManager::AI] = QObject::tr("Adobe Illustrator");
- m_fmtNames[FormatsManager::BMP] = QObject::tr("BMP");
- m_fmtNames[FormatsManager::CVG] = QObject::tr("Calamus Vector Graphics");
- m_fmtNames[FormatsManager::EPS] = QObject::tr("Encapsulated PostScript");
- m_fmtNames[FormatsManager::GIF] = QObject::tr("GIF");
- m_fmtNames[FormatsManager::JPEG] = QObject::tr("JPEG");
- m_fmtNames[FormatsManager::ORA] = QObject::tr("Open Raster");
- m_fmtNames[FormatsManager::KRA] = QObject::tr("Krita");
- m_fmtNames[FormatsManager::PAT] = QObject::tr("Pattern Files");
- m_fmtNames[FormatsManager::PDF] = QObject::tr("PDF Document");
- m_fmtNames[FormatsManager::PGF] = QObject::tr("PGF");
- m_fmtNames[FormatsManager::PNG] = QObject::tr("PNG");
- m_fmtNames[FormatsManager::PSD] = QObject::tr("Adobe Photoshop");
- m_fmtNames[FormatsManager::PS] = QObject::tr("PostScript");
- m_fmtNames[FormatsManager::SVG] = QObject::tr("Scalable Vector Graphics");
- m_fmtNames[FormatsManager::TIFF] = QObject::tr("TIFF");
- m_fmtNames[FormatsManager::WMF] = QObject::tr("Windows Meta File");
- m_fmtNames[FormatsManager::WPG] = QObject::tr("WordPerfect Graphics");
- m_fmtNames[FormatsManager::XFIG] = QObject::tr("Xfig File");
- m_fmtNames[FormatsManager::XPM] = QObject::tr("XPM");
-
-#ifdef GMAGICK_FOUND
- m_fmtNames[FormatsManager::GMAGICK] = QObject::tr("GraphicsMagick");
-#endif
- m_fmtNames[FormatsManager::PCT] = QObject::tr("Macintosh Pict");
- m_fmtNames[FormatsManager::QT] = QObject::tr("Qt Supported File");
- m_fmtNames[FormatsManager::UNICONV] = QObject::tr("UniConvertor");
-
-
- m_fmtMimeTypes.insert(FormatsManager::AI, QStringList() << "application/illustrator");
- m_fmtMimeTypes.insert(FormatsManager::CVG, QStringList() << "");
- m_fmtMimeTypes.insert(FormatsManager::EPS, QStringList() << "application/postscript");
- m_fmtMimeTypes.insert(FormatsManager::GIF, QStringList() << "image/gif");
- m_fmtMimeTypes.insert(FormatsManager::JPEG, QStringList() << "image/jpeg");
- m_fmtMimeTypes.insert(FormatsManager::ORA, QStringList() << "");
- m_fmtMimeTypes.insert(FormatsManager::KRA, QStringList() << "application/x-krita");
- m_fmtMimeTypes.insert(FormatsManager::PAT, QStringList() << "");
- m_fmtMimeTypes.insert(FormatsManager::PCT, QStringList() << "");
- m_fmtMimeTypes.insert(FormatsManager::PDF, QStringList() << "application/pdf");
- m_fmtMimeTypes.insert(FormatsManager::PGF, QStringList() << "image/pgf");
- m_fmtMimeTypes.insert(FormatsManager::PNG, QStringList() << "image/png");
- m_fmtMimeTypes.insert(FormatsManager::PS, QStringList() << "application/postscript");
- m_fmtMimeTypes.insert(FormatsManager::PSD, QStringList() << "application/photoshop");
- m_fmtMimeTypes.insert(FormatsManager::QT, QStringList() << "");
- m_fmtMimeTypes.insert(FormatsManager::SVG, QStringList() << "image/svg+xml");
- m_fmtMimeTypes.insert(FormatsManager::TIFF, QStringList() << "image/tiff");
- m_fmtMimeTypes.insert(FormatsManager::WMF, QStringList() << "image/wmf");
- m_fmtMimeTypes.insert(FormatsManager::WPG, QStringList() << "");
- m_fmtMimeTypes.insert(FormatsManager::XFIG, QStringList() << "image/x-xfig");
- m_fmtMimeTypes.insert(FormatsManager::XPM, QStringList() << "image/xpm ");
-
- QMapIterator<int, QStringList> i(m_fmts);
- while (i.hasNext())
- {
- i.next();
- m_fmtList << i.value().first().toUpper();
- }
-
- m_qtSupportedImageFormats = QImageReader::supportedImageFormats();
- QStringList qtFmts;
- for (int qf = 0; qf < m_qtSupportedImageFormats.count(); qf++)
- {
- QString fmt = m_qtSupportedImageFormats[qf];
- bool found = false;
- QMapIterator<int, QStringList> i(m_fmts);
- while (i.hasNext())
- {
- i.next();
- if (i.value().contains(fmt))
- found = true;
- }
- if (!found)
- qtFmts.append(fmt);
- }
- m_fmts.insert(FormatsManager::QT, qtFmts);
- m_supportedImageFormats = m_qtSupportedImageFormats;
- updateSupportedImageFormats(m_supportedImageFormats);
-}
-
-FormatsManager::~FormatsManager()
-{
-}
-
-FormatsManager* FormatsManager::instance()
-{
- if (m_instance == 0)
- m_instance = new FormatsManager();
-
- return m_instance;
-}
-
-void FormatsManager::deleteInstance()
-{
- if (m_instance)
- delete m_instance;
- m_instance = 0;
-}
-
-void FormatsManager::imageFormatSupported(const QString& ext)
-{
-// return m_supportedImageFormats.contains(QByteArray(ext).toLatin1());
-}
-
-void FormatsManager::updateSupportedImageFormats(QList<QByteArray>& supportedImageFormats)
-{
- QMapIterator<int, QStringList> it(m_fmts);
- while (it.hasNext())
- {
- it.next();
- QStringListIterator itSL(it.value());
- while (itSL.hasNext())
- {
- QString t(itSL.next());
- supportedImageFormats.append(t.toLocal8Bit());
- }
- }
-}
-
-QString FormatsManager::nameOfFormat(int type)
-{
- QMapIterator<int, QString> it(m_fmtNames);
- while (it.hasNext())
- {
- it.next();
- if (type & it.key())
- return it.value();
- }
- return QString::null;
-}
-
-QStringList FormatsManager::mimetypeOfFormat(int type)
-{
- QMapIterator<int, QStringList> it(m_fmtMimeTypes);
- while (it.hasNext())
- {
- it.next();
- if (type & it.key())
- return it.value();
- }
- return QStringList();
-}
-
-QString FormatsManager::extensionsForFormat(int type)
-{
- QString a,b,c;
- fileTypeStrings(type, a, b, c);
- return b;
-}
-
-QString FormatsManager::fileDialogFormatList(int type)
-{
- QString a,b,c;
- fileTypeStrings(type, a, b, c);
- return a + b + ";;" +c;
-}
-
-QString FormatsManager::extensionListForFormat(int type, int listType)
-{
- QString nameMatch;
- QString separator(listType==0 ? " *." : "|");
- QMapIterator<int, QStringList> it(m_fmts);
- bool first=true;
- int n=0;
- while (it.hasNext())
- {
- it.next();
- if (type & it.key())
- {
- //Just in case the Qt used doesn't support jpeg or gif
- if ((JPEG & it.key()) && !m_supportedImageFormats.contains(QByteArray("jpg")))
- continue;
- if ((GIF & it.key()) && !m_supportedImageFormats.contains(QByteArray("gif")))
- continue;
- if (first)
- first=false;
- QStringListIterator itSL(it.value());
- while (itSL.hasNext())
- {
- if (listType==0)
- nameMatch += separator;
- nameMatch += itSL.next();
- if (listType==1 && itSL.hasNext())
- nameMatch += separator;
- }
- }
- ++n;
- if (listType==1 && it.hasNext() && nameMatch.length()>0 && !nameMatch.endsWith(separator))
- nameMatch += separator;
- }
- if (listType==0 && nameMatch.startsWith(" "))
- nameMatch.remove(0,1);
- if (listType==1 && nameMatch.endsWith("|"))
- nameMatch.chop(1);
- return nameMatch;
-}
-
-void FormatsManager::fileTypeStrings(int type, QString& formatList, QString& formatText, QString& formatAll, bool lowerCaseOnly)
-{
- QString allFormats = QObject::tr("All Supported Formats")+" (";
- QStringList formats;
- QMapIterator<int, QStringList> it(m_fmts);
- bool first=true;
- int n=0;
- while (it.hasNext())
- {
- it.next();
- if (type & it.key())
- {
- //Just in case the Qt used doesn't support jpeg or gif
- if ((JPEG & it.key()) && !m_supportedImageFormats.contains(QByteArray("jpg")))
- continue;
- if ((GIF & it.key()) && !m_supportedImageFormats.contains(QByteArray("gif")))
- continue;
- if (first)
- first=false;
- else
- {
- allFormats += " ";
- }
- QString text=m_fmtNames[it.key()] + " (";
- QStringListIterator itSL(it.value());
- while (itSL.hasNext())
- {
- QString t("*." + itSL.next());
- allFormats += t;
- text += t;
- if(!lowerCaseOnly)
- {
- allFormats += " " + t.toUpper();
- text += " " + t.toUpper();
- }
- if (itSL.hasNext())
- {
- allFormats += " ";
- text += " ";
- }
- }
- text += ")";
- formats.append(text);
- }
- ++n;
- }
- formatList+=allFormats + ");;";
- formats.sort(Qt::CaseInsensitive);
- formatText+=formats.join(";;");
- formatAll=QObject::tr("All Files (*)");
-}
-
-bool extensionIndicatesPDF(const QString &ext)
-{
- QStringList strl;
- strl << "ai" << "pdf";
- return strl.contains(ext, Qt::CaseInsensitive);
-}
-
-bool extensionIndicatesEPS(const QString &ext)
-{
- QStringList strl;
- strl << "eps" << "epsf" << "epsi" << "eps2" << "eps3" << "epi" << "ept";
- return strl.contains(ext, Qt::CaseInsensitive);
-}
-
-bool extensionIndicatesEPSorPS(const QString &ext)
-{
- QStringList strl;
- strl << "eps" << "epsf" << "epsi" << "ps" << "eps2" << "eps3" << "epi" << "ept";
- return strl.contains(ext, Qt::CaseInsensitive);
-}
-
-bool extensionIndicatesTIFF(const QString &ext)
-{
- QStringList strl;
- strl << "tif" << "tiff";
- return strl.contains(ext, Qt::CaseInsensitive);
-}
-
-bool extensionIndicatesPSD(const QString &ext)
-{
- QStringList strl;
- strl << "psd";
- return strl.contains(ext, Qt::CaseInsensitive);
-// return (QString::compare("psd", ext, Qt::CaseInsensitive) == 0);
-}
-
-bool extensionIndicatesJPEG(const QString &ext)
-{
- QStringList strl;
- strl << "jpg" << "jpeg";
- return strl.contains(ext, Qt::CaseInsensitive);
-}
-
-bool extensionIndicatesPattern(const QString &ext)
-{
- QStringList strl;
- strl << "pat";
- return strl.contains(ext, Qt::CaseInsensitive);
-}
-
-QString getImageType(QString filename)
-{
- QString ret = "";
- QFile f(filename);
- QFileInfo fi(f);
- if (fi.exists())
- {
- QByteArray buf(24, ' ');
- if (f.open(QIODevice::ReadOnly))
- {
- f.read(buf.data(), 24);
- if ((buf[0] == '%') && (buf[1] == '!') && (buf[2] == 'P') && (buf[3] == 'S') && (buf[4] == '-') && (buf[5] == 'A'))
- ret = "eps";
- else if ((buf[0] == '\xC5') && (buf[1] == '\xD0') && (buf[2] == '\xD3') && (buf[3] == '\xC6'))
- ret = "eps";
- else if ((buf[0] == 'G') && (buf[1] == 'I') && (buf[2] == 'F') && (buf[3] == '8'))
- ret = "gif";
- else if ((buf[0] == '\xFF') && (buf[1] == '\xD8') && (buf[2] == '\xFF'))
- ret = "jpg";
- else if ((buf[20] == 'G') && (buf[21] == 'P') && (buf[22] == 'A') && (buf[23] == 'T'))
- ret = "pat";
- else if ((buf[0] == '%') && (buf[1] == 'P') && (buf[2] == 'D') && (buf[3] == 'F'))
- ret = "pdf";
- else if ((buf[0] == 'P') && (buf[1] == 'G') && (buf[2] == 'F'))
- ret = "pgf";
- else if ((buf[0] == '\x89') && (buf[1] == 'P') && (buf[2] == 'N') && (buf[3] == 'G'))
- ret = "png";
- else if ((buf[0] == '8') && (buf[1] == 'B') && (buf[2] == 'P') && (buf[3] == 'S'))
- ret = "psd";
- else if (((buf[0] == 'I') && (buf[1] == 'I') && (buf[2] == '\x2A')) || ((buf[0] == 'M') && (buf[1] == 'M') && (buf[3] == '\x2A')))
- ret = "tif";
- else if ((buf[0] == '/') && (buf[1] == '*') && (buf[2] == ' ') && (buf[3] == 'X') && (buf[4] == 'P') && (buf[5] == 'M'))
- ret = "xpm";
- else if ((buf[0] == 'V') && (buf[1] == 'C') && (buf[2] == 'L') && (buf[3] == 'M') && (buf[4] == 'T') && (buf[5] == 'F'))
- ret = "svm";
- f.close();
- }
- }
- return ret;
-}
+/*
+For general Scribus (>=1.3.2) copyright and licensing information please refer
+to the COPYING file provided with the program. Following this notice may exist
+a copyright and/or license notice that predates the release of Scribus 1.3.2
+for which a new license (GPL+exception) is in place.
+*/
+
+#include <QDebug>
+#include <QImageReader>
+#include <QMapIterator>
+#include <QObject>
+
+#include "commonstrings.h"
+#include "util_formats.h"
+
+#ifdef GMAGICK_FOUND
+#include <magick/api.h>
+#include <magick/magick.h>
+//#include <magick/memory.h>
+#include <magick/symbols.h>
+#endif
+
+FormatsManager* FormatsManager::m_instance = 0;
+
+FormatsManager::FormatsManager()
+{
+ m_fmts.insert(FormatsManager::AI, QStringList() << "ai");
+ m_fmts.insert(FormatsManager::BMP, QStringList() << "bmp");
+ m_fmts.insert(FormatsManager::CVG, QStringList() << "cvg");
+ m_fmts.insert(FormatsManager::EPS, QStringList() << "eps" << "epsf" << "epsi" << "eps2" << "eps3" << "epi" << "ept");
+ m_fmts.insert(FormatsManager::GIF, QStringList() << "gif");
+ m_fmts.insert(FormatsManager::JPEG, QStringList() << "jpg" << "jpeg");
+ m_fmts.insert(FormatsManager::KRA, QStringList() << "kra");
+ m_fmts.insert(FormatsManager::ORA, QStringList() << "ora");
+ m_fmts.insert(FormatsManager::PAT, QStringList() << "pat");
+ m_fmts.insert(FormatsManager::PCT, QStringList() << "pct" << "pic" << "pict");
+ m_fmts.insert(FormatsManager::PDF, QStringList() << "pdf");
+ m_fmts.insert(FormatsManager::PGF, QStringList() << "pgf");
+ m_fmts.insert(FormatsManager::PNG, QStringList() << "png");
+ m_fmts.insert(FormatsManager::PS, QStringList() << "ps");
+ m_fmts.insert(FormatsManager::PSD, QStringList() << "psd");
+ m_fmts.insert(FormatsManager::SVG, QStringList() << "svg" << "svgz");
+ m_fmts.insert(FormatsManager::TIFF, QStringList() << "tif" << "tiff");
+ m_fmts.insert(FormatsManager::UNICONV, QStringList() << "cdt" << "ccx" << "cmx" << "aff" << "sk" << "sk1" << "plt" << "dxf" << "dst" << "pes" << "exp" << "pcs");
+ m_fmts.insert(FormatsManager::WMF, QStringList() << "wmf");
+ m_fmts.insert(FormatsManager::WPG, QStringList() << "wpg");
+ m_fmts.insert(FormatsManager::XFIG, QStringList() << "fig");
+ m_fmts.insert(FormatsManager::XPM, QStringList() << "xpm");
+
+#ifdef GMAGICK_FOUND
+ QStringList gmagickformats;
+ InitializeMagick(0);
+ ExceptionInfo exception;
+ MagickInfo **magick_array;
+ magick_array=GetMagickInfoArray(&exception);
+ if (!magick_array)
+ return;
+ for (int i=0; magick_array[i] != 0; i++)
+ {
+ if (magick_array[i]->stealth)
+ continue;
+ gmagickformats<<QString(magick_array[i]->name).toLower();
+ }
+ MagickFree(magick_array);
+ //qDebug()<<gmagickformats;
+ gmagickformats.removeAll("eps");
+ gmagickformats.removeAll("html");
+ gmagickformats.removeAll("pdf");
+ gmagickformats.removeAll("pict");
+ gmagickformats.removeAll("ps");
+ gmagickformats.removeAll("psd");
+ gmagickformats.removeAll("svg");
+ gmagickformats.removeAll("svgz");
+ gmagickformats.removeAll("tiff");
+ gmagickformats.removeAll("txt");
+ gmagickformats.removeAll("wmf");
+ gmagickformats.removeAll("wpg");
+ m_fmts.insert(FormatsManager::GMAGICK, gmagickformats);
+#endif
+
+ m_fmtNames[FormatsManager::AI] = QObject::tr("Adobe Illustrator");
+ m_fmtNames[FormatsManager::BMP] = QObject::tr("BMP");
+ m_fmtNames[FormatsManager::CVG] = QObject::tr("Calamus Vector Graphics");
+ m_fmtNames[FormatsManager::EPS] = QObject::tr("Encapsulated PostScript");
+ m_fmtNames[FormatsManager::GIF] = QObject::tr("GIF");
+ m_fmtNames[FormatsManager::JPEG] = QObject::tr("JPEG");
+ m_fmtNames[FormatsManager::KRA] = QObject::tr("Krita");
+ m_fmtNames[FormatsManager::ORA] = QObject::tr("Open Raster");
+ m_fmtNames[FormatsManager::PAT] = QObject::tr("Pattern Files");
+ m_fmtNames[FormatsManager::PDF] = QObject::tr("PDF Document");
+ m_fmtNames[FormatsManager::PGF] = QObject::tr("PGF");
+ m_fmtNames[FormatsManager::PNG] = QObject::tr("PNG");
+ m_fmtNames[FormatsManager::PSD] = QObject::tr("Adobe Photoshop");
+ m_fmtNames[FormatsManager::PS] = QObject::tr("PostScript");
+ m_fmtNames[FormatsManager::SVG] = QObject::tr("Scalable Vector Graphics");
+ m_fmtNames[FormatsManager::TIFF] = QObject::tr("TIFF");
+ m_fmtNames[FormatsManager::WMF] = QObject::tr("Windows Meta File");
+ m_fmtNames[FormatsManager::WPG] = QObject::tr("WordPerfect Graphics");
+ m_fmtNames[FormatsManager::XFIG] = QObject::tr("Xfig File");
+ m_fmtNames[FormatsManager::XPM] = QObject::tr("XPM");
+
+#ifdef GMAGICK_FOUND
+ m_fmtNames[FormatsManager::GMAGICK] = QObject::tr("GraphicsMagick");
+#endif
+ m_fmtNames[FormatsManager::PCT] = QObject::tr("Macintosh Pict");
+ m_fmtNames[FormatsManager::QT] = QObject::tr("Qt Supported File");
+ m_fmtNames[FormatsManager::UNICONV] = QObject::tr("UniConvertor");
+
+
+ m_fmtMimeTypes.insert(FormatsManager::AI, QStringList() << "application/illustrator");
+ m_fmtMimeTypes.insert(FormatsManager::CVG, QStringList() << "");
+ m_fmtMimeTypes.insert(FormatsManager::EPS, QStringList() << "application/postscript");
+ m_fmtMimeTypes.insert(FormatsManager::GIF, QStringList() << "image/gif");
+ m_fmtMimeTypes.insert(FormatsManager::JPEG, QStringList() << "image/jpeg");
+ m_fmtMimeTypes.insert(FormatsManager::KRA, QStringList() << "application/x-krita");
+ m_fmtMimeTypes.insert(FormatsManager::ORA, QStringList() << "");
+ m_fmtMimeTypes.insert(FormatsManager::PAT, QStringList() << "");
+ m_fmtMimeTypes.insert(FormatsManager::PCT, QStringList() << "");
+ m_fmtMimeTypes.insert(FormatsManager::PDF, QStringList() << "application/pdf");
+ m_fmtMimeTypes.insert(FormatsManager::PGF, QStringList() << "image/pgf");
+ m_fmtMimeTypes.insert(FormatsManager::PNG, QStringList() << "image/png");
+ m_fmtMimeTypes.insert(FormatsManager::PS, QStringList() << "application/postscript");
+ m_fmtMimeTypes.insert(FormatsManager::PSD, QStringList() << "application/photoshop");
+ m_fmtMimeTypes.insert(FormatsManager::QT, QStringList() << "");
+ m_fmtMimeTypes.insert(FormatsManager::SVG, QStringList() << "image/svg+xml");
+ m_fmtMimeTypes.insert(FormatsManager::TIFF, QStringList() << "image/tiff");
+ m_fmtMimeTypes.insert(FormatsManager::WMF, QStringList() << "image/wmf");
+ m_fmtMimeTypes.insert(FormatsManager::WPG, QStringList() << "");
+ m_fmtMimeTypes.insert(FormatsManager::XFIG, QStringList() << "image/x-xfig");
+ m_fmtMimeTypes.insert(FormatsManager::XPM, QStringList() << "image/xpm ");
+
+ QMapIterator<int, QStringList> i(m_fmts);
+ while (i.hasNext())
+ {
+ i.next();
+ m_fmtList << i.value().first().toUpper();
+ }
+
+ m_qtSupportedImageFormats = QImageReader::supportedImageFormats();
+ QStringList qtFmts;
+ for (int qf = 0; qf < m_qtSupportedImageFormats.count(); qf++)
+ {
+ QString fmt = m_qtSupportedImageFormats[qf];
+ bool found = false;
+ QMapIterator<int, QStringList> i(m_fmts);
+ while (i.hasNext())
+ {
+ i.next();
+ if (i.value().contains(fmt))
+ found = true;
+ }
+ if (!found)
+ qtFmts.append(fmt);
+ }
+ m_fmts.insert(FormatsManager::QT, qtFmts);
+ m_supportedImageFormats = m_qtSupportedImageFormats;
+ updateSupportedImageFormats(m_supportedImageFormats);
+}
+
+FormatsManager::~FormatsManager()
+{
+}
+
+FormatsManager* FormatsManager::instance()
+{
+ if (m_instance == 0)
+ m_instance = new FormatsManager();
+
+ return m_instance;
+}
+
+void FormatsManager::deleteInstance()
+{
+ if (m_instance)
+ delete m_instance;
+ m_instance = 0;
+}
+
+void FormatsManager::imageFormatSupported(const QString& ext)
+{
+// return m_supportedImageFormats.contains(QByteArray(ext).toLatin1());
+}
+
+void FormatsManager::updateSupportedImageFormats(QList<QByteArray>& supportedImageFormats)
+{
+ QMapIterator<int, QStringList> it(m_fmts);
+ while (it.hasNext())
+ {
+ it.next();
+ QStringListIterator itSL(it.value());
+ while (itSL.hasNext())
+ {
+ QString t(itSL.next());
+ supportedImageFormats.append(t.toLocal8Bit());
+ }
+ }
+}
+
+QString FormatsManager::nameOfFormat(int type)
+{
+ QMapIterator<int, QString> it(m_fmtNames);
+ while (it.hasNext())
+ {
+ it.next();
+ if (type & it.key())
+ return it.value();
+ }
+ return QString::null;
+}
+
+QStringList FormatsManager::mimetypeOfFormat(int type)
+{
+ QMapIterator<int, QStringList> it(m_fmtMimeTypes);
+ while (it.hasNext())
+ {
+ it.next();
+ if (type & it.key())
+ return it.value();
+ }
+ return QStringList();
+}
+
+QString FormatsManager::extensionsForFormat(int type)
+{
+ QString a,b,c;
+ fileTypeStrings(type, a, b, c);
+ return b;
+}
+
+QString FormatsManager::fileDialogFormatList(int type)
+{
+ QString a,b,c;
+ fileTypeStrings(type, a, b, c);
+ return a + b + ";;" +c;
+}
+
+QString FormatsManager::extensionListForFormat(int type, int listType)
+{
+ QString nameMatch;
+ QString separator(listType==0 ? " *." : "|");
+ QMapIterator<int, QStringList> it(m_fmts);
+ bool first=true;
+ int n=0;
+ while (it.hasNext())
+ {
+ it.next();
+ if (type & it.key())
+ {
+ //Just in case the Qt used doesn't support jpeg or gif
+ if ((JPEG & it.key()) && !m_supportedImageFormats.contains(QByteArray("jpg")))
+ continue;
+ if ((GIF & it.key()) && !m_supportedImageFormats.contains(QByteArray("gif")))
+ continue;
+ if (first)
+ first=false;
+ QStringListIterator itSL(it.value());
+ while (itSL.hasNext())
+ {
+ if (listType==0)
+ nameMatch += separator;
+ nameMatch += itSL.next();
+ if (listType==1 && itSL.hasNext())
+ nameMatch += separator;
+ }
+ }
+ ++n;
+ if (listType==1 && it.hasNext() && nameMatch.length()>0 && !nameMatch.endsWith(separator))
+ nameMatch += separator;
+ }
+ if (listType==0 && nameMatch.startsWith(" "))
+ nameMatch.remove(0,1);
+ if (listType==1 && nameMatch.endsWith("|"))
+ nameMatch.chop(1);
+ return nameMatch;
+}
+
+void FormatsManager::fileTypeStrings(int type, QString& formatList, QString& formatText, QString& formatAll, bool lowerCaseOnly)
+{
+ QString allFormats = QObject::tr("All Supported Formats")+" (";
+ QStringList formats;
+ QMapIterator<int, QStringList> it(m_fmts);
+ bool first=true;
+ int n=0;
+ while (it.hasNext())
+ {
+ it.next();
+ if (type & it.key())
+ {
+ //Just in case the Qt used doesn't support jpeg or gif
+ if ((JPEG & it.key()) && !m_supportedImageFormats.contains(QByteArray("jpg")))
+ continue;
+ if ((GIF & it.key()) && !m_supportedImageFormats.contains(QByteArray("gif")))
+ continue;
+ if (first)
+ first=false;
+ else
+ {
+ allFormats += " ";
+ }
+ QString text=m_fmtNames[it.key()] + " (";
+ QStringListIterator itSL(it.value());
+ while (itSL.hasNext())
+ {
+ QString t("*." + itSL.next());
+ allFormats += t;
+ text += t;
+ if(!lowerCaseOnly)
+ {
+ allFormats += " " + t.toUpper();
+ text += " " + t.toUpper();
+ }
+ if (itSL.hasNext())
+ {
+ allFormats += " ";
+ text += " ";
+ }
+ }
+ text += ")";
+ formats.append(text);
+ }
+ ++n;
+ }
+ formatList+=allFormats + ");;";
+ formats.sort(Qt::CaseInsensitive);
+ formatText+=formats.join(";;");
+ formatAll=QObject::tr("All Files (*)");
+}
+
+bool extensionIndicatesPDF(const QString &ext)
+{
+ QStringList strl;
+ strl << "ai" << "pdf";
+ return strl.contains(ext, Qt::CaseInsensitive);
+}
+
+bool extensionIndicatesEPS(const QString &ext)
+{
+ QStringList strl;
+ strl << "eps" << "epsf" << "epsi" << "eps2" << "eps3" << "epi" << "ept";
+ return strl.contains(ext, Qt::CaseInsensitive);
+}
+
+bool extensionIndicatesEPSorPS(const QString &ext)
+{
+ QStringList strl;
+ strl << "eps" << "epsf" << "epsi" << "ps" << "eps2" << "eps3" << "epi" << "ept";
+ return strl.contains(ext, Qt::CaseInsensitive);
+}
+
+bool extensionIndicatesTIFF(const QString &ext)
+{
+ QStringList strl;
+ strl << "tif" << "tiff";
+ return strl.contains(ext, Qt::CaseInsensitive);
+}
+
+bool extensionIndicatesPSD(const QString &ext)
+{
+ QStringList strl;
+ strl << "psd";
+ return strl.contains(ext, Qt::CaseInsensitive);
+// return (QString::compare("psd", ext, Qt::CaseInsensitive) == 0);
+}
+
+bool extensionIndicatesJPEG(const QString &ext)
+{
+ QStringList strl;
+ strl << "jpg" << "jpeg";
+ return strl.contains(ext, Qt::CaseInsensitive);
+}
+
+bool extensionIndicatesPattern(const QString &ext)
+{
+ QStringList strl;
+ strl << "pat";
+ return strl.contains(ext, Qt::CaseInsensitive);
+}
+
+QString getImageType(QString filename)
+{
+ QString ret = "";
+ QFile f(filename);
+ QFileInfo fi(f);
+ if (fi.exists())
+ {
+ QByteArray buf(24, ' ');
+ if (f.open(QIODevice::ReadOnly))
+ {
+ f.read(buf.data(), 24);
+ if ((buf[0] == '%') && (buf[1] == '!') && (buf[2] == 'P') && (buf[3] == 'S') && (buf[4] == '-') && (buf[5] == 'A'))
+ ret = "eps";
+ else if ((buf[0] == '\xC5') && (buf[1] == '\xD0') && (buf[2] == '\xD3') && (buf[3] == '\xC6'))
+ ret = "eps";
+ else if ((buf[0] == 'G') && (buf[1] == 'I') && (buf[2] == 'F') && (buf[3] == '8'))
+ ret = "gif";
+ else if ((buf[0] == '\xFF') && (buf[1] == '\xD8') && (buf[2] == '\xFF'))
+ ret = "jpg";
+ else if ((buf[20] == 'G') && (buf[21] == 'P') && (buf[22] == 'A') && (buf[23] == 'T'))
+ ret = "pat";
+ else if ((buf[0] == '%') && (buf[1] == 'P') && (buf[2] == 'D') && (buf[3] == 'F'))
+ ret = "pdf";
+ else if ((buf[0] == 'P') && (buf[1] == 'G') && (buf[2] == 'F'))
+ ret = "pgf";
+ else if ((buf[0] == '\x89') && (buf[1] == 'P') && (buf[2] == 'N') && (buf[3] == 'G'))
+ ret = "png";
+ else if ((buf[0] == '8') && (buf[1] == 'B') && (buf[2] == 'P') && (buf[3] == 'S'))
+ ret = "psd";
+ else if (((buf[0] == 'I') && (buf[1] == 'I') && (buf[2] == '\x2A')) || ((buf[0] == 'M') && (buf[1] == 'M') && (buf[3] == '\x2A')))
+ ret = "tif";
+ else if ((buf[0] == '/') && (buf[1] == '*') && (buf[2] == ' ') && (buf[3] == 'X') && (buf[4] == 'P') && (buf[5] == 'M'))
+ ret = "xpm";
+ else if ((buf[0] == 'V') && (buf[1] == 'C') && (buf[2] == 'L') && (buf[3] == 'M') && (buf[4] == 'T') && (buf[5] == 'F'))
+ ret = "svm";
+ f.close();
+ }
+ }
+ return ret;
+}
More information about the scribus-commit
mailing list