summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleks Kissinger <aleks0@gmail.com>2018-12-31 19:51:04 +0100
committerAleks Kissinger <aleks0@gmail.com>2018-12-31 19:51:04 +0100
commitd27a6bf59d5a9d0cd2c21820d5d94bd4131100c8 (patch)
tree8b5e39e0a436a87a47021c8fdb1dc4e096a944a5
parentc5fedfb1ec79b97edec4a82b70f082fba93a5b5d (diff)
added export dialog
-rw-r--r--src/gui/exportdialog.cpp36
-rw-r--r--src/gui/exportdialog.ui8
2 files changed, 40 insertions, 4 deletions
diff --git a/src/gui/exportdialog.cpp b/src/gui/exportdialog.cpp
index 2d0d8a0..b176c71 100644
--- a/src/gui/exportdialog.cpp
+++ b/src/gui/exportdialog.cpp
@@ -3,6 +3,9 @@
#include "tikzit.h"
+#include <QFileDialog>
+#include <QSettings>
+
ExportDialog::ExportDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::ExportDialog)
@@ -70,11 +73,44 @@ void ExportDialog::on_keepAspect_stateChanged(int state)
void ExportDialog::on_browseButton_clicked()
{
+ QSettings settings("tikzit", "tikzit");
+
+ QString suffix;
+ switch (ui->fileFormat->currentIndex()) {
+ case PNG: suffix = "png"; break;
+ case JPG: suffix = "jpg"; break;
+ case PDF: suffix = "pdf"; break;
+ }
+
+ QFileDialog dialog;
+ dialog.setDefaultSuffix(suffix);
+ dialog.setWindowTitle(tr("Export File Path"));
+ dialog.setAcceptMode(QFileDialog::AcceptSave);
+ dialog.setNameFilter(ui->fileFormat->currentText());
+ dialog.setFileMode(QFileDialog::AnyFile);
+ if (!settings.value("previous-export-file-path").isNull())
+ dialog.setDirectory(settings.value("previous-export-file-path").toString());
+ dialog.setOption(QFileDialog::DontUseNativeDialog);
+ if (dialog.exec()) {
+ ui->filePath->setText(QDir::toNativeSeparators(dialog.selectedFiles()[0]));
+ }
}
void ExportDialog::on_fileFormat_currentIndexChanged(int f)
{
ui->width->setEnabled(f != PDF);
ui->height->setEnabled(f != PDF);
+
+ QString path = ui->filePath->text();
+ if (!path.isEmpty()) {
+ QRegularExpression re("\\.[^.]*$");
+ switch (f) {
+ case PNG: path.replace(re, ".png"); break;
+ case JPG: path.replace(re, ".jpg"); break;
+ case PDF: path.replace(re, ".pdf"); break;
+ }
+
+ ui->filePath->setText(path);
+ }
}
diff --git a/src/gui/exportdialog.ui b/src/gui/exportdialog.ui
index 69e2a22..82cefdc 100644
--- a/src/gui/exportdialog.ui
+++ b/src/gui/exportdialog.ui
@@ -17,7 +17,7 @@
</sizepolicy>
</property>
<property name="windowTitle">
- <string>Dialog</string>
+ <string>Export Image</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
@@ -54,17 +54,17 @@
<widget class="QComboBox" name="fileFormat">
<item>
<property name="text">
- <string>Portable Network Graphics (PNG)</string>
+ <string>Portable Network Graphics (*.png)</string>
</property>
</item>
<item>
<property name="text">
- <string>Jpeg Image (JPG)</string>
+ <string>Jpeg Image (*.jpg)</string>
</property>
</item>
<item>
<property name="text">
- <string>Original (PDF)</string>
+ <string>Original (*.pdf)</string>
</property>
</item>
</widget>