diff --git a/cexif.cpp b/cexif.cpp index f583cd1..c11a812 100644 --- a/cexif.cpp +++ b/cexif.cpp @@ -539,7 +539,7 @@ cEXIFCompressionList::cEXIFCompressionList() { QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setHostName("localhost"); - db.setDatabaseName("exifTags.db"); + db.setDatabaseName("pictureConvert.db"); if(!db.open()) return; @@ -601,7 +601,7 @@ cEXIFLightSourceList::cEXIFLightSourceList() { QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setHostName("localhost"); - db.setDatabaseName("exifTags.db"); + db.setDatabaseName("pictureConvert.db"); if(!db.open()) return; @@ -663,7 +663,7 @@ cEXIFFlashList::cEXIFFlashList() { QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setHostName("localhost"); - db.setDatabaseName("exifTags.db"); + db.setDatabaseName("pictureConvert.db"); if(!db.open()) return; @@ -729,7 +729,7 @@ cEXIFTagList::cEXIFTagList() { QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setHostName("localhost"); - db.setDatabaseName("exifTags.db"); + db.setDatabaseName("pictureConvert.db"); if(!db.open()) return; @@ -1039,7 +1039,7 @@ cXMPTagList::cXMPTagList() { QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setHostName("localhost"); - db.setDatabaseName("exifTags.db"); + db.setDatabaseName("pictureConvert.db"); if(!db.open()) return; diff --git a/cmainwindow.cpp b/cmainwindow.cpp index 98de2f2..eda8936 100644 --- a/cmainwindow.cpp +++ b/cmainwindow.cpp @@ -30,6 +30,9 @@ #include +#include +#include + cMainWindow::cMainWindow(cSplashScreen* lpSplashScreen, QWidget *parent) : QMainWindow(parent), @@ -173,57 +176,32 @@ void cMainWindow::setImageFormats() QList readList = QImageReader::supportedImageFormats(); QList writeList = QImageWriter::supportedImageFormats(); - addImageFormat("bmp", "Windows Bitmap", "*.bmp", readList, writeList); - addImageFormat("gif", "Graphic Interchange Format (optional)", "*.gif", readList, writeList); - addImageFormat("jpg", "Joint Photographic Experts Group", "*.jpg", readList, writeList); - addImageFormat("png", "Portable Network Graphics", "*.png", readList, writeList); - addImageFormat("pbm", "Portable Bitmap", "*.pbm", readList, writeList); - addImageFormat("pgm", "Portable Graymap", "*.pgm", readList, writeList); - addImageFormat("ppm", "Portable Pixmap", "*.ppm", readList, writeList); - addImageFormat("xbm", "X11 Bitmap", "*.xbm", readList, writeList); - addImageFormat("xpm", "X11 Pixmap", "*.xpm", readList, writeList); - addImageFormat("svg", "Scalable Vector Graphics", "*.svg", readList, writeList); - addImageFormat("icns", "Apple Icon Image", "*.icns", readList, writeList); - addImageFormat("jp2", "Joint Photographic Experts Group 2000", "*.jp2", readList, writeList); - addImageFormat("mng", "Multiple-image Network Graphics", "*.mng", readList, writeList); - addImageFormat("tga", "Truevision Graphics Adapter", "*.tga", readList, writeList); - addImageFormat("tiff", "Tagged Image File Format", "*.tiff", readList, writeList); - addImageFormat("wbmp", "Wireless Bitmap", "*.wbmp", readList, writeList); - addImageFormat("webp", "WebP", "*.webp", readList, writeList); - addImageFormat("", "Hasselblad", "*.3fr", readList, writeList); - addImageFormat("", "Arri_Alexa", "*.ari", readList, writeList); - addImageFormat("", "Sony", "*.arw *.srf *.sr2", readList, writeList); - addImageFormat("", "Casio", "*.bay", readList, writeList); - addImageFormat("", "Blackmagic Design", "*.braw", readList, writeList); - addImageFormat("", "Cintel", "*.cri", readList, writeList); - addImageFormat("", "Canon", "*.crw *.cr2 *.cr3", readList, writeList); - addImageFormat("", "Phase_One", "*.cap *.iiq *.eip", readList, writeList); - addImageFormat("", "Kodak", "*.dcs *.dcr *.drf *.k25 *.kdc", readList, writeList); - addImageFormat("", "Adobe", "*.dng", readList, writeList); - addImageFormat("", "Epson", "*.erf", readList, writeList); - addImageFormat("", "Imacon/Hasselblad raw", "*.fff", readList, writeList); - addImageFormat("", "GoPro", "*.gpr", readList, writeList); - addImageFormat("", "Mamiya", "*.mef", readList, writeList); - addImageFormat("", "Minolta, Agfa", "*.mdc", readList, writeList); - addImageFormat("", "Leaf", "*.mos", readList, writeList); - addImageFormat("", "Minolta, Konica Minolta", "*.mrw", readList, writeList); - addImageFormat("", "Nikon", "*.nef *.nrw", readList, writeList); - addImageFormat("", "Olympus", "*.orf", readList, writeList); - addImageFormat("", "Pentax", "*.pef *.ptx", readList, writeList); - addImageFormat("", "Logitech", "*.pxn", readList, writeList); - addImageFormat("", "RED Digital Cinema", "*.R3D", readList, writeList); - addImageFormat("", "Fuji", "*.raf", readList, writeList); - addImageFormat("", "Panasonic", "*.raw *.rw2", readList, writeList); - addImageFormat("", "Leica", "*.raw *.rwl *.dng", readList, writeList); - addImageFormat("", "Rawzor", "*.rwz", readList, writeList); - addImageFormat("", "Samsung", "*.srw", readList, writeList); - addImageFormat("", "Sigma", "*.x3f", readList, writeList); + QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); + db.setHostName("localhost"); + db.setDatabaseName("pictureConvert.db"); + + if(!db.open()) + return; + + QSqlQuery query; + + query.prepare("SELECT shortname, description, extension FROM imageFormat;"); + if(!query.exec()) + { + db.close(); + return; + } + + while(query.next()) + addImageFormat(query.value("shortname").toString(), query.value("description").toString(), query.value("extension").toString(), readList, writeList); + + db.close(); } -void cMainWindow::addImageFormat(const char* shortName, const char* description, const char* extension, QList& readList, QList& writeList) +void cMainWindow::addImageFormat(const QString& shortName, const QString& description, const QString& extension, QList& readList, QList& writeList) { - bool r = readList.contains(QByteArray(shortName)); - bool w = writeList.contains(QByteArray(shortName)); + bool r = readList.contains(QByteArray(shortName.toUtf8())); + bool w = writeList.contains(QByteArray(shortName.toUtf8())); if(QString(shortName).isEmpty()) r = true; diff --git a/cmainwindow.h b/cmainwindow.h index 4da2ded..2bc33ca 100644 --- a/cmainwindow.h +++ b/cmainwindow.h @@ -271,7 +271,7 @@ private: \param readList \param writeList */ - void addImageFormat(const char* shortName, const char* description, const char* extension, QList& readList, QList& writeList); + void addImageFormat(const QString& shortName, const QString& description, const QString& extension, QList& readList, QList& writeList); /*! \brief diff --git a/exifTags.db b/pictureConvert.db similarity index 97% rename from exifTags.db rename to pictureConvert.db index 7257534..d8e084f 100644 Binary files a/exifTags.db and b/pictureConvert.db differ diff --git a/pictureConvert.pro b/pictureConvert.pro index 58586c8..36c0baf 100644 --- a/pictureConvert.pro +++ b/pictureConvert.pro @@ -82,12 +82,12 @@ RESOURCES += \ DISTFILES += \ Doxyfile \ - EFIFTags.xlsx \ README.md \ LICENSE \ - exifTags.db \ fileFormats.xlsx \ installer.iss \ + pictureConvert.db \ + pictureConvert.xlsx \ qdarkstyle/rc/branch_closed-on.png \ qdarkstyle/rc/branch_closed.png \ qdarkstyle/rc/branch_open-on.png \ diff --git a/EFIFTags.xlsx b/pictureConvert.xlsx similarity index 55% rename from EFIFTags.xlsx rename to pictureConvert.xlsx index fcd4f2a..9d7ff8c 100644 Binary files a/EFIFTags.xlsx and b/pictureConvert.xlsx differ