35
36
#include "Common/global.h"
36
37
#include "global.hxx"
38
QTranslator* lastGuiTranslator;
39
QTranslator* lastQtTranslator;
42
* \return "" when fail, out file name when successful
45
QString saveLDRImage(QWidget *parent, const QString initialFileName, const QImage *image, bool batchMode)
47
LuminanceOptions luminance_options;
49
QString outfname = QDir(luminance_options.getDefaultPathLdrOut()).filePath(initialFileName);
52
QString filetypes = QObject::tr("All LDR formats") + " (*.jpg *.jpeg *.png *.ppm *.pbm *.bmp *.JPG *.JPEG *.PNG *.PPM *.PBM *.BMP);;";
53
filetypes += "JPEG (*.jpg *.jpeg *.JPG *.JPEG);;" ;
54
filetypes += "PNG (*.png *.PNG);;" ;
55
filetypes += "PPM PBM (*.ppm *.pbm *.PPM *.PBM);;";
56
filetypes += "BMP (*.bmp *.BMP)";
58
outfname = QFileDialog::getSaveFileName(parent,
59
QObject::tr("Save the LDR image as..."),
60
QDir(luminance_options.getDefaultPathLdrOut()).filePath(initialFileName),
64
if( !outfname.isEmpty() )
66
QFileInfo qfi(outfname);
67
luminance_options.setDefaultPathLdrOut(qfi.path()); //save settings
68
QString format = qfi.suffix();
70
if ( qfi.suffix().isEmpty() )
77
if ((format == "png" || format == "jpg") && !batchMode)
79
ImageQualityDialog savedFileQuality(image, format, parent);
80
QString winTitle(QObject::tr("Save as..."));
81
winTitle += format.toUpper();
82
savedFileQuality.setWindowTitle( winTitle );
83
if ( savedFileQuality.exec() == QDialog::Rejected )
87
quality = savedFileQuality.getQuality();
89
//std::cout << quality << std::endl;
90
if( !(image->save(outfname, format.toLocal8Bit(), quality)) )
92
//std::cout << "Failed to save" << std::endl;
93
QMessageBox::warning(0,"",QObject::tr("Failed to save <b>") + outfname + "</b>", QMessageBox::Ok, QMessageBox::NoButton);
96
} // if(!outfname.isEmpty())
101
39
bool matchesLdrFilename(QString file)
103
41
QRegExp exp(".*\\.(jpeg|jpg|tiff|tif|crw|cr2|nef|dng|mrw|orf|kdc|dcr|arw|raf|ptx|pef|x3f|raw|sr2|rw2)$", Qt::CaseInsensitive);
132
void installTranslators(QString lang, bool installQtTranslations)
72
typedef QScopedPointer<QTranslator> ScopedQTranslator;
74
ScopedQTranslator lastGuiTranslator;
75
ScopedQTranslator lastQtTranslator;
78
void installTranslators(const QString& lang, bool installQtTranslations)
134
80
if (lastGuiTranslator)
136
QCoreApplication::removeTranslator(lastGuiTranslator);
137
lastGuiTranslator = 0;
82
QCoreApplication::removeTranslator(lastGuiTranslator.data());
83
lastGuiTranslator.reset();
139
85
if (installQtTranslations && lastQtTranslator)
141
QCoreApplication::removeTranslator(lastQtTranslator);
142
lastQtTranslator = 0;
87
QCoreApplication::removeTranslator(lastQtTranslator.data());
88
lastQtTranslator.reset();
146
QTranslator* guiTranslator = new QTranslator();
92
ScopedQTranslator guiTranslator( new QTranslator() );
147
94
guiTranslator->load(QString("lang_") + lang, I18NDIR);
148
QCoreApplication::installTranslator(guiTranslator);
149
lastGuiTranslator = guiTranslator;
95
QCoreApplication::installTranslator(guiTranslator.data());
96
lastGuiTranslator.swap( guiTranslator );
151
98
if (installQtTranslations)
153
QTranslator* qtTranslator = new QTranslator();
100
ScopedQTranslator qtTranslator( new QTranslator() );
154
102
qtTranslator->load(QString("qt_") + lang, I18NDIR);
155
QCoreApplication::installTranslator(qtTranslator);
156
lastQtTranslator = qtTranslator;
103
QCoreApplication::installTranslator(qtTranslator.data());
104
lastQtTranslator.swap( qtTranslator );
161
void installTranslators(bool installQtTranslations) {
109
void installTranslators(bool installQtTranslations)
162
111
LuminanceOptions luminance_options;
163
112
installTranslators(luminance_options.getGuiLang(), installQtTranslations);