19#include "moc_mdichild.cpp"
22 setAttribute(Qt::WA_DeleteOnClose);
29 static int sequenceNumber = 1;
32 curFile = tr(
"graph%1.gv").arg(sequenceNumber++);
33 setWindowTitle(curFile + QLatin1String(
"[*]"));
35 connect(document(), &QTextDocument::contentsChange,
this,
36 &MdiChild::documentWasModified);
41 if (!file.open(QFile::ReadOnly | QFile::Text)) {
44 tr(
"Cannot read file %1:\n%2.").arg(
fileName).arg(file.errorString()));
48 QTextStream
in(&file);
49 QApplication::setOverrideCursor(Qt::WaitCursor);
50 setPlainText(
in.readAll());
51 QApplication::restoreOverrideCursor();
55 connect(document(), &QTextDocument::contentsChange,
this,
56 &MdiChild::documentWasModified);
69 QString
fileName = QFileDialog::getSaveFileName(
this, tr(
"Save As"), curFile);
78 if (!file.open(QFile::WriteOnly | QFile::Text)) {
81 tr(
"Cannot write file %1:\n%2.").arg(
fileName).arg(file.errorString()));
85 QTextStream
out(&file);
86 QApplication::setOverrideCursor(Qt::WaitCursor);
87#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
88 out.setCodec(
"UTF-8");
92 QApplication::restoreOverrideCursor();
108void MdiChild::documentWasModified() {
109 setWindowModified(document()->isModified());
112bool MdiChild::maybeSave() {
113 if (document()->isModified()) {
114 QMessageBox::StandardButton ret;
115 ret = QMessageBox::warning(
this, tr(
"MDI"),
116 tr(
"'%1' has been modified.\n"
117 "Do you want to save your changes?")
119 QMessageBox::Save | QMessageBox::Discard |
120 QMessageBox::Cancel);
121 if (ret == QMessageBox::Save)
123 if (ret == QMessageBox::Cancel)
129void MdiChild::setCurrentFile(
const QString &
fileName) {
130 curFile = QFileInfo(
fileName).canonicalFilePath();
132 document()->setModified(
false);
133 setWindowModified(
false);
137QString MdiChild::strippedName(
const QString &fullFileName) {
138 return QFileInfo(fullFileName).fileName();
static void out(agerrlevel_t level, const char *fmt, va_list args)
Report messages using a user-supplied or default write function.
QString userFriendlyCurrentFile()
std::unique_ptr< ImageViewer > previewFrm
bool saveFile(const QString &fileName)
bool loadPreview(const QString &fileName)
bool loadFile(const QString &fileName)
void closeEvent(QCloseEvent *event)
static int in(Extype_t lhs, Exid_t *rhs, Exdisc_t *disc)
char * fileName(ingraph_state *sp)
Return name of current file being processed.