Permalink
Browse files

Export dialog in Edit Database Cell uses data type for extension filter

The extension filter is adjusted to the type of data loaded in the editor.
Previously, only image extensions were adjusted, remaining were treated
as text. Now the following are used: *.bin, *.txt, *.json and *.svg.

For coherence, the *.bin filter is added to the import dialog.
  • Loading branch information...
mgrojo committed Jun 20, 2018
1 parent 48d3cc6 commit 885f4f7847a46d85f45501ff67bde089830e81f6
Showing with 18 additions and 4 deletions.
  1. +18 −4 src/EditDialog.cpp
@@ -290,7 +290,7 @@ void EditDialog::importData()
this,
tr("Choose a file to import")
#ifndef Q_OS_MAC // Filters on OS X are buggy
, tr("Text files (*.txt);;Image files (%1);;JSON files (*.json);;XML files (*.xml);;All files (*)").arg(image_formats)
, tr("Text files (*.txt);;Image files (%1);;JSON files (*.json);;XML files (*.xml);;Binary files (*.bin);;All files (*)").arg(image_formats)
#endif
);
if(QFile::exists(fileName))
@@ -312,15 +312,29 @@ void EditDialog::exportData()
{
// Images get special treatment
QString fileExt;
if (dataType == Image) {
switch (dataType) {
case Image: {
// Determine the likely filename extension
QByteArray cellData = hexEdit->data();
QBuffer imageBuffer(&cellData);
QImageReader imageReader(&imageBuffer);
QString imageFormat = imageReader.format();
fileExt = imageFormat.toUpper() % " " % tr("Image") % "(*." % imageFormat.toLower() % ");;All files(*)";
} else {
break;
}
case Binary:
case Null:
fileExt = tr("Binary files(*.bin);;All files(*)");
break;
case Text:
fileExt = tr("Text files(*.txt);;All files(*)");
break;
case JSON:
fileExt = tr("JSON files(*.json);;All files(*)");
break;
case SVG:
fileExt = tr("SVG files(*.svg);;All files(*)");
break;
}

QString fileName = FileDialog::getSaveFileName(
@@ -342,7 +356,7 @@ void EditDialog::exportData()
file.write(ui->editorText->toPlainText().toUtf8());
break;
case SciBuffer:
// Data source is the JSON buffer
// Data source is the Scintilla buffer
file.write(sciEdit->text().toUtf8());
break;
}

0 comments on commit 885f4f7

Please sign in to comment.