Skip to content

Commit

Permalink
GetImageFileNameSuggestion - suggests settings file name for image
Browse files Browse the repository at this point in the history
fixes issue #227
  • Loading branch information
zebastian committed Feb 7, 2017
1 parent c143866 commit d7f3e1a
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 6 deletions.
12 changes: 6 additions & 6 deletions mandelbulber2/src/render_window_menu.cpp
Expand Up @@ -305,7 +305,7 @@ void RenderWindow::slotMenuSaveImageJPEG()
dialog.setNameFilter(tr("JPEG images (*.jpg *.jpeg)"));
dialog.setDirectory(QDir::toNativeSeparators(QFileInfo(systemData.lastImageFile).absolutePath()));
dialog.selectFile(
QDir::toNativeSeparators(QFileInfo(systemData.lastImageFile).completeBaseName()));
QDir::toNativeSeparators(systemData.GetImageFileNameSuggestion()));
dialog.setAcceptMode(QFileDialog::AcceptSave);
dialog.setWindowTitle(tr("Save image to %1 file...").arg("JPEG"));
dialog.setDefaultSuffix("jpeg");
Expand Down Expand Up @@ -333,7 +333,7 @@ void RenderWindow::slotMenuSaveImagePNG()
dialog.setNameFilter(tr("PNG images (*.png)"));
dialog.setDirectory(QDir::toNativeSeparators(QFileInfo(systemData.lastImageFile).absolutePath()));
dialog.selectFile(
QDir::toNativeSeparators(QFileInfo(systemData.lastImageFile).completeBaseName()));
QDir::toNativeSeparators(systemData.GetImageFileNameSuggestion()));
dialog.setAcceptMode(QFileDialog::AcceptSave);
dialog.setWindowTitle(tr("Save image to %1 file...").arg("8-bit PNG"));
dialog.setDefaultSuffix("png");
Expand All @@ -358,7 +358,7 @@ void RenderWindow::slotMenuSaveImageEXR()
dialog.setNameFilter(tr("EXR images (*.exr)"));
dialog.setDirectory(QDir::toNativeSeparators(QFileInfo(systemData.lastImageFile).absolutePath()));
dialog.selectFile(
QDir::toNativeSeparators(QFileInfo(systemData.lastImageFile).completeBaseName()));
QDir::toNativeSeparators(systemData.GetImageFileNameSuggestion()));
dialog.setAcceptMode(QFileDialog::AcceptSave);
dialog.setWindowTitle(tr("Save image to %1 file...").arg("EXR"));
dialog.setDefaultSuffix("exr");
Expand All @@ -384,7 +384,7 @@ void RenderWindow::slotMenuSaveImageTIFF()
dialog.setNameFilter(tr("TIFF images (*.tiff)"));
dialog.setDirectory(QDir::toNativeSeparators(QFileInfo(systemData.lastImageFile).absolutePath()));
dialog.selectFile(
QDir::toNativeSeparators(QFileInfo(systemData.lastImageFile).completeBaseName()));
QDir::toNativeSeparators(systemData.GetImageFileNameSuggestion()));
dialog.setAcceptMode(QFileDialog::AcceptSave);
dialog.setWindowTitle(tr("Save image to %1 file...").arg("TIFF"));
dialog.setDefaultSuffix("tiff");
Expand All @@ -409,7 +409,7 @@ void RenderWindow::slotMenuSaveImagePNG16()
dialog.setNameFilter(tr("PNG images (*.png)"));
dialog.setDirectory(QDir::toNativeSeparators(QFileInfo(systemData.lastImageFile).absolutePath()));
dialog.selectFile(
QDir::toNativeSeparators(QFileInfo(systemData.lastImageFile).completeBaseName()));
QDir::toNativeSeparators(systemData.GetImageFileNameSuggestion()));
dialog.setAcceptMode(QFileDialog::AcceptSave);
dialog.setWindowTitle(tr("Save image to %1 file...").arg("16-bit PNG"));
dialog.setDefaultSuffix("png");
Expand Down Expand Up @@ -438,7 +438,7 @@ void RenderWindow::slotMenuSaveImagePNG16Alpha()
dialog.setNameFilter(tr("PNG images (*.png)"));
dialog.setDirectory(QDir::toNativeSeparators(QFileInfo(systemData.lastImageFile).absolutePath()));
dialog.selectFile(
QDir::toNativeSeparators(QFileInfo(systemData.lastImageFile).completeBaseName()));
QDir::toNativeSeparators(systemData.GetImageFileNameSuggestion()));
dialog.setAcceptMode(QFileDialog::AcceptSave);
dialog.setWindowTitle(tr("Save image to %1 file...").arg("16-bit PNG + alpha channel"));
dialog.setDefaultSuffix("png");
Expand Down
14 changes: 14 additions & 0 deletions mandelbulber2/src/system.hpp
Expand Up @@ -118,6 +118,20 @@ struct sSystem
QString GetAutosaveFile() const { return dataDirectoryHidden + ".autosave.fract"; }
QString GetIniFile() const { return dataDirectoryHidden + "mandelbulber.ini"; }

QString GetImageFileNameSuggestion()
{
QString imageBaseName = QFileInfo(lastImageFile).completeBaseName();

// if the last image file has been saved manually, this is the suggestion for the filename
if(!lastImageFile.endsWith("image.jpg")) return imageBaseName;

// otherwise if the settings has been loaded from a proper .fract file, this fileName's basename is the suggestion
if(lastSettingsFile.endsWith(".fract")) return QFileInfo(lastSettingsFile).completeBaseName();

// maybe loaded by clipboard, no better suggestion, than the default lastImageFile's baseName
return imageBaseName;
}

QString homedir;
QString sharedDir;
QString logfileName;
Expand Down

0 comments on commit d7f3e1a

Please sign in to comment.