mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Print: add UI for a print dialog
PrintOptions is a QWidget class to be used as an addition to a future print dialog (possibly based on QPrintDialog). Currently only contains a couple of radio buttons. PrintDialog (printdialog.cpp/h) which is a basic QDialog is currently added for testing only and it holds an instance of PrintOptions. Calling File->Print opens this test dialog for now. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
This commit is contained in:
parent
35356e364d
commit
52534bfb68
6 changed files with 110 additions and 1 deletions
4
Makefile
4
Makefile
|
@ -53,6 +53,8 @@ HEADERS = \
|
|||
qt-ui/diveplanner.h \
|
||||
qt-ui/about.h \
|
||||
qt-ui/graphicsview-common.h \
|
||||
qt-ui/printdialog.h \
|
||||
qt-ui/printoptions.h \
|
||||
|
||||
|
||||
SOURCES = \
|
||||
|
@ -94,6 +96,8 @@ SOURCES = \
|
|||
qt-ui/diveplanner.cpp \
|
||||
qt-ui/about.cpp \
|
||||
qt-ui/graphicsview-common.cpp \
|
||||
qt-ui/printdialog.cpp \
|
||||
qt-ui/printoptions.cpp \
|
||||
$(RESFILE)
|
||||
|
||||
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
#include "simplewidgets.h"
|
||||
#include "diveplanner.h"
|
||||
#include "about.h"
|
||||
#include "printdialog.h"
|
||||
|
||||
static MainWindow* instance = 0;
|
||||
|
||||
|
@ -218,7 +219,7 @@ void MainWindow::on_actionExportUDDF_triggered()
|
|||
|
||||
void MainWindow::on_actionPrint_triggered()
|
||||
{
|
||||
qDebug("actionPrint");
|
||||
PrintDialog::instance()->runDialog();
|
||||
}
|
||||
|
||||
void MainWindow::disableDcShortcuts()
|
||||
|
|
42
qt-ui/printdialog.cpp
Normal file
42
qt-ui/printdialog.cpp
Normal file
|
@ -0,0 +1,42 @@
|
|||
#include "printdialog.h"
|
||||
|
||||
#include <QDebug>
|
||||
#include <QPushButton>
|
||||
#include <QVBoxLayout>
|
||||
|
||||
PrintDialog *PrintDialog::instance()
|
||||
{
|
||||
static PrintDialog *self = new PrintDialog();
|
||||
self->setAttribute(Qt::WA_QuitOnClose, false);
|
||||
return self;
|
||||
}
|
||||
|
||||
PrintDialog::PrintDialog(QWidget *parent, Qt::WindowFlags f)
|
||||
{
|
||||
// options template (are we storing these in the settings?)
|
||||
struct options tempOptions = {options::PRETTY, 0, 2, false, 65, 15, 12};
|
||||
printOptions = tempOptions;
|
||||
/* temporary.
|
||||
* add the PrintOptions widget and a Print button for testing purposes. */
|
||||
optionsWidget = PrintOptions::instance();
|
||||
QVBoxLayout *layout = new QVBoxLayout(this);
|
||||
setLayout(layout);
|
||||
layout->addWidget(optionsWidget);
|
||||
|
||||
QPushButton *printButton = new QPushButton(tr("&Print"));
|
||||
connect(printButton, SIGNAL(clicked(bool)), this, SLOT(printClicked()));
|
||||
layout->addWidget(printButton);
|
||||
|
||||
setFixedSize(600, 400);
|
||||
setWindowTitle("Print");
|
||||
}
|
||||
|
||||
void PrintDialog::runDialog()
|
||||
{
|
||||
exec();
|
||||
}
|
||||
|
||||
void PrintDialog::printClicked(void)
|
||||
{
|
||||
// nop for now
|
||||
}
|
25
qt-ui/printdialog.h
Normal file
25
qt-ui/printdialog.h
Normal file
|
@ -0,0 +1,25 @@
|
|||
#ifndef PRINTDIALOG_H
|
||||
#define PRINTDIALOG_H
|
||||
|
||||
#include <QDialog>
|
||||
#include "../display.h"
|
||||
#include "printoptions.h"
|
||||
|
||||
// should be based on a custom QPrintDialog class
|
||||
class PrintDialog : public QDialog {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
static PrintDialog *instance();
|
||||
void runDialog();
|
||||
struct options printOptions;
|
||||
|
||||
private:
|
||||
explicit PrintDialog(QWidget *parent = 0, Qt::WindowFlags f = 0);
|
||||
PrintOptions *optionsWidget;
|
||||
|
||||
private slots:
|
||||
void printClicked();
|
||||
};
|
||||
|
||||
#endif
|
14
qt-ui/printoptions.cpp
Normal file
14
qt-ui/printoptions.cpp
Normal file
|
@ -0,0 +1,14 @@
|
|||
#include "printoptions.h"
|
||||
#include "ui_printoptions.h"
|
||||
|
||||
PrintOptions *PrintOptions::instance()
|
||||
{
|
||||
static PrintOptions *self = new PrintOptions();
|
||||
return self;
|
||||
}
|
||||
|
||||
PrintOptions::PrintOptions(QWidget *parent, Qt::WindowFlags f)
|
||||
: ui( new Ui::PrintOptions())
|
||||
{
|
||||
ui->setupUi(this);
|
||||
}
|
23
qt-ui/printoptions.h
Normal file
23
qt-ui/printoptions.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
#ifndef PRINTOPTIONS_H
|
||||
#define PRINTOPTIONS_H
|
||||
|
||||
#include <QWidget>
|
||||
#include "../display.h"
|
||||
|
||||
namespace Ui {
|
||||
class PrintOptions;
|
||||
};
|
||||
|
||||
// should be based on a custom QPrintDialog class
|
||||
class PrintOptions : public QWidget {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
static PrintOptions *instance();
|
||||
|
||||
private:
|
||||
explicit PrintOptions(QWidget *parent = 0, Qt::WindowFlags f = 0);
|
||||
Ui::PrintOptions *ui;
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Add table
Reference in a new issue