-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathqt_editWindow.cpp
More file actions
66 lines (57 loc) · 2.1 KB
/
qt_editWindow.cpp
File metadata and controls
66 lines (57 loc) · 2.1 KB
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
#include "qt_editWindow.hpp"
#include <QDir>
//#include <QFileDialog>
#include <fstream>
MainWindow::MainWindow(Comicfile* comic, QWidget* parent) : QWidget(parent), comic(comic) {
layout = new QVBoxLayout;
setLayout(layout);
rectButton = new QPushButton("Rect");
circButton = new QPushButton("Circ");
delButton = new QPushButton("Del");
textBar = new QLineEdit;
setButton = new QPushButton("Set");
saveButton = new QPushButton("Save");
layout->addWidget(rectButton);
layout->addWidget(circButton);
layout->addWidget(delButton);
layout->addWidget(textBar);
layout->addWidget(setButton);
layout->addWidget(saveButton);
connect(rectButton, &QPushButton::clicked, this, [this] {
editmode = DM_DRAW;
submode = DSM_RECT;
});
connect(circButton, &QPushButton::clicked, this, [this] {
editmode = DM_DRAW;
submode = DSM_CIRC;
});
connect(delButton, &QPushButton::clicked, this, [this] {
if (current) {
this->comic->del(current);
current = nullptr;
update();
}
});
connect(setButton, &QPushButton::clicked, this, [this] {
if (current) {
current->setText(textBar->text().toStdString());
}
});
connect(saveButton, &QPushButton::clicked, this, [this] {
filename_out = "doof";//QFileDialog::getSaveFileName(this, "Save File", QString::fromStdString(filename_out));
// todo: write to file instead of cout
std::cout << "write file to " << filename_out << std::endl;
string ext = filename_out.substr(filename_out.rfind('.')+1);
std::ofstream file_out(filename_out);
if (!file_out.good()) {
std::cerr << "could not open file '" << filename_out << "' for writing" << std::endl;
exit(-1);
}
if (ext == "xml") this->comic->writeXML(file_out);
else if (ext == "json") this->comic->writeJSON(file_out);
else {
std::cerr << "cannot save to unknown output file format: " << ext << std::endl;
exit(-1);
}
});
}