| 137 | } |
| 138 | |
| 139 | QString getHdrFileNameFromSaveDialog(const QString &suggestedFileName, |
| 140 | QWidget *parent = 0) { |
| 141 | #ifdef QT_DEBUG |
| 142 | qDebug() << "MainWindow::getHdrFileNameFromSaveDialog(" << suggestedFileName |
| 143 | << ")"; |
| 144 | #endif |
| 145 | |
| 146 | QStringList validHdrExtensions; |
| 147 | validHdrExtensions << "exr" |
| 148 | << "hdr" |
| 149 | << "tif" |
| 150 | << "tiff" |
| 151 | << "pfs"; |
| 152 | |
| 153 | QString filetypes = QObject::tr("All HDR formats"); |
| 154 | filetypes += QLatin1String( |
| 155 | " (*.exr *.EXR *.tiff *.TIFF *.hdr *.HDR *.pic *.PIC *.pfs *.PFS);;"); |
| 156 | filetypes += QLatin1String("OpenEXR (*.exr *.EXR);;"); |
| 157 | filetypes += QLatin1String("HDR TIFF (*.tiff *.tif *.TIFF *.TIT);;"); |
| 158 | filetypes += QLatin1String("Radiance RGBE (*.hdr *.pic *.HDR *.PIC);;"); |
| 159 | filetypes += QLatin1String("PFS Stream (*.pfs *.PFS);;"); |
| 160 | |
| 161 | QFileInfo qfi(suggestedFileName); |
| 162 | |
| 163 | QString suffix = qfi.suffix(); |
| 164 | |
| 165 | if (suffix.isEmpty()) { |
| 166 | suffix = "exr"; |
| 167 | } |
| 168 | |
| 169 | if (!validHdrExtensions.contains(suffix, Qt::CaseInsensitive)) { |
| 170 | suffix = "exr"; |
| 171 | } |
| 172 | |
| 173 | QString outputFilename = QFileDialog::getSaveFileName( |
| 174 | parent, QObject::tr("Save the HDR image as..."), |
| 175 | LuminanceOptions().getDefaultPathLdrIn() + QDir::separator() + |
| 176 | qfi.completeBaseName() + "." + suffix, |
| 177 | filetypes); |
| 178 | |
| 179 | if (!outputFilename.isEmpty()) { |
| 180 | QFileInfo qfi(outputFilename); |
| 181 | |
| 182 | LuminanceOptions().setDefaultPathHdrOut(qfi.path()); |
| 183 | } |
| 184 | return outputFilename; |
| 185 | } |
| 186 | |
| 187 | void getCropCoords(GenericViewer *gv, int &x_ul, int &y_ul, int &x_br, |
| 188 | int &y_br) { |
no test coverage detected