-
Notifications
You must be signed in to change notification settings - Fork 0
/
mainwindow.cpp
103 lines (87 loc) · 2.78 KB
/
mainwindow.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "pagehandler.h"
class WebView: public QWebView{
public:
WebView():QWebView(){
}
void hide(){
qDebug("hidden");
}
};
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
webView = new QWebView();
webView->setWindowTitle("contentEditor preview");
webView->setWindowFlags(Qt::WindowStaysOnTopHint); // | Qt::FramelessWindowHint
pageHandler::loadPages();
pageHandler::treeWidget = ui->pagesList;
pageHandler::pageStack = ui->pageStack;
pageHandler::webView = webView;
pageHandler::setup();
setGeometry(50, 50, 1200, 700);
connect(ui->savePage,SIGNAL(triggered()),pageHandler::getSingleton(), SLOT(savePage()));
connect(ui->togglePagesList,SIGNAL(triggered()),this, SLOT(togglePagesList()));
connect(ui->toggleFullscreen,SIGNAL(triggered()),this, SLOT(toggleFullscreen()));
connect(ui->togglePreview,SIGNAL(triggered()),this, SLOT(togglePreview()));
connect(ui->newPage,SIGNAL(triggered()),this, SLOT(addPage()));
connect(ui->newField,SIGNAL(triggered()),this, SLOT(addField()));
connect(ui->backgroundColor, SIGNAL(triggered()), pageHandler::getSingleton(), SLOT(setFieldBackgroundColor()));
connect(ui->addImage, SIGNAL(triggered()), pageHandler::getSingleton(), SLOT(addImage()));
connect(ui->toggleText, SIGNAL(triggered()), pageHandler::getSingleton(), SLOT(toggleTextEdit()));
connect(ui->pageBackgroundColor, SIGNAL(triggered()), pageHandler::getSingleton(), SLOT(setPageBackgroundColor()));
connect(ui->printPDF, SIGNAL(triggered()), pageHandler::getSingleton(), SLOT(exportPDF()));
lastWebViewGeometry = QRect(200,200,500,400);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::togglePagesList(bool stat){
if(ui->pagesList->isHidden())
ui->pagesList->show();
else
ui->pagesList->hide();
}
void MainWindow::toggleFullscreen(bool stat){
if(isFullScreen()){
showNormal();
setFocus();
}
else
showFullScreen();
}
void MainWindow::onPreviewHide(){
lastWebViewGeometry = webView->geometry();
}
void MainWindow::addPage(){
pageHandler::addPage();
}
void MainWindow::addField(){
pageHandler::addField();
}
void MainWindow::togglePreview(bool stat){
if(webView->isVisible()){
lastWebViewGeometry = webView->geometry();
webView->hide();
}
else{
webView->setGeometry(lastWebViewGeometry);
webView->show();
pageHandler::loadPreview();
}
}
void MainWindow::changeEvent(QEvent *e)
{
QMainWindow::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}