summaryrefslogtreecommitdiff
path: root/examples/svg/svgviewer/exportdialog.h
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2016-03-14 14:25:23 +0100
committerFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2016-03-15 09:52:34 +0000
commit95e0d10ddd18b15ba12886d1ec3c5c9c3e06bd55 (patch)
treef3510ddc66b1870e9cfa2c7154c54a8b2bd6dd23 /examples/svg/svgviewer/exportdialog.h
parent99303e92ae9cf461f99b8eff8b37b42f758118b6 (diff)
downloadqtsvg-95e0d10ddd18b15ba12886d1ec3c5c9c3e06bd55.tar.gz
SVG viewer: Add export option.
Add an option to export an image giving a size. This can be used for creating High DPI icons from SVG files among other things. Task-number: QTBUG-49374 Change-Id: I0437889961bc6e646667c5165584002f7ab4d952 Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
Diffstat (limited to 'examples/svg/svgviewer/exportdialog.h')
-rw-r--r--examples/svg/svgviewer/exportdialog.h80
1 files changed, 80 insertions, 0 deletions
diff --git a/examples/svg/svgviewer/exportdialog.h b/examples/svg/svgviewer/exportdialog.h
new file mode 100644
index 0000000..71d8bdd
--- /dev/null
+++ b/examples/svg/svgviewer/exportdialog.h
@@ -0,0 +1,80 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef EXPORTDIALOG_H
+#define EXPORTDIALOG_H
+
+#include <QDialog>
+
+QT_FORWARD_DECLARE_CLASS(QLineEdit)
+QT_FORWARD_DECLARE_CLASS(QSpinBox)
+
+class ExportDialog : public QDialog
+{
+ Q_OBJECT
+public:
+ explicit ExportDialog(QWidget *parent = 0);
+
+ QSize exportSize() const;
+ void setExportSize(const QSize &);
+
+ QString exportFileName() const;
+ void setExportFileName(const QString &);
+
+ void accept() override;
+
+private slots:
+ void browse();
+ void resetExportSize();
+ void exportWidthChanged(int width);
+ void exportHeightChanged(int height);
+
+private:
+ void setExportWidthBlocked(int width);
+ void setExportHeightBlocked(int height);
+
+ QLineEdit *m_fileNameLineEdit;
+ QSpinBox *m_widthSpinBox;
+ QSpinBox *m_heightSpinBox;
+ QSize m_defaultSize;
+ qreal m_aspectRatio;
+};
+
+#endif // EXPORTDIALOG_H