summaryrefslogtreecommitdiffstats
path: root/desktop-widgets/printoptions.h
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tomaz.canabrava@intel.com>2015-09-03 14:20:19 -0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-10-30 10:36:49 -0700
commite49d6213ad129284a45d53c3fcdc03249e84efe2 (patch)
tree2946a666ab38af3375e7bb2b8c5dd887d4a7f9a1 /desktop-widgets/printoptions.h
parent588abd019fb2ed3f607682f2b6c7fe86a7a5bb90 (diff)
downloadsubsurface-e49d6213ad129284a45d53c3fcdc03249e84efe2.tar.gz
Move qt-ui to desktop-widgets
Since we have now destkop and mobile versions, 'qt-ui' was a very poor name choice for a folder that contains only destkop-enabled widgets. Also, move the graphicsview-common.h/cpp to subsurface-core because it doesn't depend on qgraphicsview, it merely implements all the colors that we use throughout Subsurface, and we will use colors on both desktop and mobile versions Same thing applies for metrics.h/cpp Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'desktop-widgets/printoptions.h')
-rw-r--r--desktop-widgets/printoptions.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/desktop-widgets/printoptions.h b/desktop-widgets/printoptions.h
new file mode 100644
index 000000000..9c50b10f3
--- /dev/null
+++ b/desktop-widgets/printoptions.h
@@ -0,0 +1,88 @@
+#ifndef PRINTOPTIONS_H
+#define PRINTOPTIONS_H
+
+#include <QWidget>
+
+#include "ui_printoptions.h"
+
+struct print_options {
+ enum print_type {
+ DIVELIST,
+ STATISTICS
+ } type;
+ QString p_template;
+ bool print_selected;
+ bool color_selected;
+ bool landscape;
+};
+
+struct template_options {
+ int font_index;
+ int color_palette_index;
+ int border_width;
+ double font_size;
+ double line_spacing;
+ struct color_palette_struct {
+ QColor color1;
+ QColor color2;
+ QColor color3;
+ QColor color4;
+ QColor color5;
+ QColor color6;
+ bool operator!=(const color_palette_struct &other) const {
+ return other.color1 != color1
+ || other.color2 != color2
+ || other.color3 != color3
+ || other.color4 != color4
+ || other.color5 != color5
+ || other.color6 != color6;
+ }
+ } color_palette;
+ bool operator!=(const template_options &other) const {
+ return other.font_index != font_index
+ || other.color_palette_index != color_palette_index
+ || other.font_size != font_size
+ || other.line_spacing != line_spacing
+ || other.color_palette != color_palette;
+ }
+ };
+
+extern template_options::color_palette_struct ssrf_colors, almond_colors, blueshades_colors, custom_colors;
+
+enum color_palette {
+ SSRF_COLORS,
+ ALMOND,
+ BLUESHADES,
+ CUSTOM
+};
+
+// should be based on a custom QPrintDialog class
+class PrintOptions : public QWidget {
+ Q_OBJECT
+
+public:
+ explicit PrintOptions(QWidget *parent, struct print_options *printOpt, struct template_options *templateOpt);
+ void setup();
+ QString getSelectedTemplate();
+
+private:
+ Ui::PrintOptions ui;
+ struct print_options *printOptions;
+ struct template_options *templateOptions;
+ bool hasSetupSlots;
+ void setupTemplates();
+
+private
+slots:
+ void printInColorClicked(bool check);
+ void printSelectedClicked(bool check);
+ void on_radioStatisticsPrint_toggled(bool check);
+ void on_radioDiveListPrint_toggled(bool check);
+ void on_printTemplate_currentIndexChanged(int index);
+ void on_editButton_clicked();
+ void on_importButton_clicked();
+ void on_exportButton_clicked();
+ void on_deleteButton_clicked();
+};
+
+#endif // PRINTOPTIONS_H