Improve Save as
This commit is contained in:
+14
-13
@@ -620,9 +620,13 @@ void MainWindow::reindex()
|
||||
void MainWindow::saveAs()
|
||||
{
|
||||
QString selectedFilter;
|
||||
ImagePtr ptr = m_ringList->currentImage();
|
||||
if(!ptr)return;
|
||||
|
||||
QFileInfo srcFile(ptr->name());
|
||||
QString file = QFileDialog::getSaveFileName(this,
|
||||
tr("Save as"),
|
||||
_lastDir,
|
||||
_lastDir + "/" + srcFile.baseName(),
|
||||
_saveFilter,
|
||||
&selectedFilter);
|
||||
auto filterToFormat = [](const QString &file, const QString &filter) -> const QString
|
||||
@@ -644,25 +648,22 @@ void MainWindow::saveAs()
|
||||
|
||||
if(!file.isEmpty())
|
||||
{
|
||||
auto button = QMessageBox::question(this, tr("Apply stretch?"), tr("Apply current stretch function to image?"));
|
||||
|
||||
QString format = filterToFormat(file, selectedFilter);
|
||||
|
||||
if(format == "fits" || format == "xisf")
|
||||
{
|
||||
convert(file, format);
|
||||
}
|
||||
else
|
||||
{
|
||||
QImage img = m_image->renderToImage();
|
||||
if(!img.isNull())
|
||||
img.save(file, filterToFormat(file, selectedFilter).toLatin1().data());
|
||||
}
|
||||
convert(file, format, button == QMessageBox::Yes);
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::convert(const QString &outfile, const QString &format)
|
||||
void MainWindow::convert(const QString &outfile, const QString &format, bool stretch)
|
||||
{
|
||||
QString file = m_ringList->currentImage()->name();
|
||||
QThreadPool::globalInstance()->start(new ConvertRunable(file, outfile, format));
|
||||
ConvertRunable::ConvertParams param;
|
||||
param.stretch = stretch;
|
||||
param.mtf = m_stretchPanel->params();
|
||||
|
||||
QThreadPool::globalInstance()->start(new ConvertRunable(file, outfile, format, param));
|
||||
}
|
||||
|
||||
void MainWindow::markImage()
|
||||
|
||||
Reference in New Issue
Block a user