subsurface/qt-ui/printoptions.h
Gehad elrobey 7ca311ae85 Printing: save only if data is changed in template_options
Check if data is changed before saving the new settings.

Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2015-07-20 15:28:07 +03:00

62 lines
1.4 KiB
C++

#ifndef PRINTOPTIONS_H
#define PRINTOPTIONS_H
#include <QWidget>
#include "ui_printoptions.h"
struct print_options {
enum print_type {
DIVELIST,
TABLE,
STATISTICS
} type;
enum print_template {
ONE_DIVE,
TWO_DIVE,
CUSTOM
} p_template;
bool print_selected;
bool color_selected;
bool landscape;
};
struct template_options {
int font_index;
int color_palette_index;
double font_size;
double line_spacing;
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;
}
};
// 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();
private:
Ui::PrintOptions ui;
struct print_options *printOptions;
struct template_options *templateOptions;
bool hasSetupSlots;
private
slots:
void printInColorClicked(bool check);
void printSelectedClicked(bool check);
void on_radioStatisticsPrint_clicked(bool check);
void on_radioTablePrint_clicked(bool check);
void on_radioDiveListPrint_clicked(bool check);
void on_printTemplate_currentIndexChanged(int index);
void on_editButton_clicked();
};
#endif // PRINTOPTIONS_H