/******************************************************************************* # # Copyright (C) 2010-2013 Matteo Paonessa # 2021 Gary Wang # # This file is part of the Caesium distribution. # # Caesium is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # Caesium is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Caesium; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. # # Author: Matteo Paonessa # # ******************************************************************************/ #include #include #include #include "global.h" #include QSettings settings(QStandardPaths::standardLocations(QStandardPaths::AppLocalDataLocation).at(0) + "/Caesium/settings.ini", QSettings::IniFormat); QString out_folder = ""; bool same_folder_flag = false; const int version_build = 170; const QString version_string = "1.7.0"; QString opened_list = ""; bool isJpegSuffix(const QString &suffix) { const QStringList jpegSuffix({"jpg", "jpeg", "jfif"}); return (jpegSuffix.contains(suffix.toLower())); } void startBlockingProcess(const QString & program, const QString & argv) { QProcess proc; proc.start(program, QProcess::splitCommand(argv)); proc.waitForFinished(INT_MAX); return; } void copyExif(const QString &sourceImagePath, const QString &destImagePath) { #ifdef Q_OS_WIN QString exec = QString(R"("%1" "%2")").arg(sourceImagePath, destImagePath); startBlockingProcess("tools\\exif_copy.exe", exec); #else // blumia: This is much slower than the existing exif_copy.exe since it won't create another file for copy tags. // Maybe writing a small standalone tool to replace the exif_copy.exe could be better. QString exec = QString(R"(-tagsFromFile "%1" -All:All "%2" -overwrite_original)").arg(sourceImagePath, destImagePath); startBlockingProcess("exiftool", exec); #endif }