1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2024-11-24 11:45:53 +01:00

Added resolution setting to export dialogue.

This commit is contained in:
Martin Tůma 2017-08-28 17:48:46 +02:00
parent ebf39f11bd
commit 5efb9f8a4e
4 changed files with 19 additions and 0 deletions

View File

@ -35,6 +35,13 @@ ExportDialog::ExportDialog(Export *exp, QWidget *parent)
if ((index = _paperSize->findData(_export->paperSize)) >= 0) if ((index = _paperSize->findData(_export->paperSize)) >= 0)
_paperSize->setCurrentIndex(index); _paperSize->setCurrentIndex(index);
_resolution = new QComboBox();
_resolution->addItem("300 DPI", 300);
_resolution->addItem("600 DPI", 600);
_resolution->addItem("1200 DPI", 1200);
if ((index = _resolution->findData(_export->resolution)) >= 0)
_resolution->setCurrentIndex(index);
_portrait = new QRadioButton(tr("Portrait")); _portrait = new QRadioButton(tr("Portrait"));
_landscape = new QRadioButton(tr("Landscape")); _landscape = new QRadioButton(tr("Landscape"));
QHBoxLayout *orientationLayout = new QHBoxLayout(); QHBoxLayout *orientationLayout = new QHBoxLayout();
@ -81,6 +88,7 @@ ExportDialog::ExportDialog(Export *exp, QWidget *parent)
#endif // Q_OS_MAC #endif // Q_OS_MAC
QFormLayout *pageSetupLayout = new QFormLayout; QFormLayout *pageSetupLayout = new QFormLayout;
pageSetupLayout->addRow(tr("Page size:"), _paperSize); pageSetupLayout->addRow(tr("Page size:"), _paperSize);
pageSetupLayout->addRow(tr("Resolution:"), _resolution);
pageSetupLayout->addRow(tr("Orientation:"), orientationLayout); pageSetupLayout->addRow(tr("Orientation:"), orientationLayout);
pageSetupLayout->addRow(tr("Margins:"), marginsLayout); pageSetupLayout->addRow(tr("Margins:"), marginsLayout);
#ifdef Q_OS_MAC #ifdef Q_OS_MAC
@ -161,9 +169,11 @@ void ExportDialog::accept()
? QPrinter::Portrait : QPrinter::Landscape; ? QPrinter::Portrait : QPrinter::Landscape;
QPrinter::PaperSize paperSize = static_cast<QPrinter::PaperSize> QPrinter::PaperSize paperSize = static_cast<QPrinter::PaperSize>
(_paperSize->itemData(_paperSize->currentIndex()).toInt()); (_paperSize->itemData(_paperSize->currentIndex()).toInt());
int resolution = _resolution->itemData(_resolution->currentIndex()).toInt();
_export->fileName = _fileSelect->file(); _export->fileName = _fileSelect->file();
_export->paperSize = paperSize; _export->paperSize = paperSize;
_export->resolution = resolution;
_export->orientation = orientation; _export->orientation = orientation;
if (_export->units == Imperial) if (_export->units == Imperial)
_export->margins = MarginsF(_leftMargin->value() / MM2IN, _export->margins = MarginsF(_leftMargin->value() / MM2IN,

View File

@ -16,6 +16,7 @@ struct Export {
QPrinter::PaperSize paperSize; QPrinter::PaperSize paperSize;
QPrinter::Orientation orientation; QPrinter::Orientation orientation;
MarginsF margins; MarginsF margins;
int resolution;
Units units; Units units;
}; };
@ -37,6 +38,7 @@ private:
FileSelectWidget *_fileSelect; FileSelectWidget *_fileSelect;
QComboBox *_paperSize; QComboBox *_paperSize;
QComboBox *_resolution;
QRadioButton *_portrait; QRadioButton *_portrait;
QRadioButton *_landscape; QRadioButton *_landscape;
QDoubleSpinBox *_topMargin; QDoubleSpinBox *_topMargin;

View File

@ -958,6 +958,7 @@ void GUI::exportFile()
printer.setOutputFormat(QPrinter::PdfFormat); printer.setOutputFormat(QPrinter::PdfFormat);
printer.setCreator(QString(APP_NAME) + QString(" ") printer.setCreator(QString(APP_NAME) + QString(" ")
+ QString(APP_VERSION)); + QString(APP_VERSION));
printer.setResolution(_export.resolution);
printer.setOrientation(_export.orientation); printer.setOrientation(_export.orientation);
printer.setOutputFileName(_export.fileName); printer.setOutputFileName(_export.fileName);
printer.setPaperSize(_export.paperSize); printer.setPaperSize(_export.paperSize);
@ -1581,6 +1582,8 @@ void GUI::writeSettings()
settings.beginGroup(EXPORT_SETTINGS_GROUP); settings.beginGroup(EXPORT_SETTINGS_GROUP);
if (_export.orientation != PAPER_ORIENTATION_DEFAULT) if (_export.orientation != PAPER_ORIENTATION_DEFAULT)
settings.setValue(PAPER_ORIENTATION_SETTING, _export.orientation); settings.setValue(PAPER_ORIENTATION_SETTING, _export.orientation);
if (_export.resolution != RESOLUTION_DEFAULT)
settings.setValue(RESOLUTION_SETTING, _export.resolution);
if (_export.paperSize != PAPER_SIZE_DEFAULT) if (_export.paperSize != PAPER_SIZE_DEFAULT)
settings.setValue(PAPER_SIZE_SETTING, _export.paperSize); settings.setValue(PAPER_SIZE_SETTING, _export.paperSize);
if (_export.margins.left() != MARGIN_LEFT_DEFAULT) if (_export.margins.left() != MARGIN_LEFT_DEFAULT)
@ -1779,6 +1782,8 @@ void GUI::readSettings()
settings.beginGroup(EXPORT_SETTINGS_GROUP); settings.beginGroup(EXPORT_SETTINGS_GROUP);
_export.orientation = (QPrinter::Orientation) settings.value( _export.orientation = (QPrinter::Orientation) settings.value(
PAPER_ORIENTATION_SETTING, PAPER_ORIENTATION_DEFAULT).toInt(); PAPER_ORIENTATION_SETTING, PAPER_ORIENTATION_DEFAULT).toInt();
_export.resolution = settings.value(RESOLUTION_SETTING, RESOLUTION_DEFAULT)
.toInt();
_export.paperSize = (QPrinter::PaperSize) settings.value(PAPER_SIZE_SETTING, _export.paperSize = (QPrinter::PaperSize) settings.value(PAPER_SIZE_SETTING,
PAPER_SIZE_DEFAULT).toInt(); PAPER_SIZE_DEFAULT).toInt();
qreal ml = settings.value(MARGIN_LEFT_SETTING, MARGIN_LEFT_DEFAULT) qreal ml = settings.value(MARGIN_LEFT_SETTING, MARGIN_LEFT_DEFAULT)

View File

@ -70,6 +70,8 @@
#define EXPORT_FILENAME_SETTING "fileName" #define EXPORT_FILENAME_SETTING "fileName"
#define EXPORT_FILENAME_DEFAULT QString("%1/export.pdf"). \ #define EXPORT_FILENAME_DEFAULT QString("%1/export.pdf"). \
arg(QDir::currentPath()) arg(QDir::currentPath())
#define RESOLUTION_SETTING "resolution"
#define RESOLUTION_DEFAULT 600
#define OPTIONS_SETTINGS_GROUP "Options" #define OPTIONS_SETTINGS_GROUP "Options"
#define PALETTE_COLOR_SETTING "paletteColor" #define PALETTE_COLOR_SETTING "paletteColor"