19 setAttribute(Qt::WA_DeleteOnClose);
30 static int sequenceNumber = 1;
33 curFile = tr(
"graph%1.gv").arg(sequenceNumber++);
34 setWindowTitle(curFile + QLatin1String(
"[*]"));
36 connect(document(), &QTextDocument::contentsChange,
37 this, &MdiChild::documentWasModified);
42 if (!file.open(QFile::ReadOnly | QFile::Text)) {
45 tr(
"Cannot read file %1:\n%2.").arg(
fileName).arg(file.errorString()));
49 QTextStream in(&file);
50 QApplication::setOverrideCursor(Qt::WaitCursor);
51 setPlainText(in.readAll());
52 QApplication::restoreOverrideCursor();
56 connect(document(), &QTextDocument::contentsChange,
57 this, &MdiChild::documentWasModified);
73 QString
fileName = QFileDialog::getSaveFileName(
this, tr(
"Save As"),
84 if (!file.open(QFile::WriteOnly | QFile::Text)) {
85 QMessageBox::warning(
this, tr(
"MDI"),
86 tr(
"Cannot write file %1:\n%2.")
88 .arg(file.errorString()));
92 QTextStream
out(&file);
93 QApplication::setOverrideCursor(Qt::WaitCursor);
94#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
95 out.setCodec(
"UTF-8");
99 QApplication::restoreOverrideCursor();
107 return strippedName(curFile);
119void MdiChild::documentWasModified()
121 setWindowModified(document()->isModified());
124bool MdiChild::maybeSave()
126 if (document()->isModified()) {
127 QMessageBox::StandardButton ret;
128 ret = QMessageBox::warning(
this, tr(
"MDI"),
129 tr(
"'%1' has been modified.\n"
130 "Do you want to save your changes?")
132 QMessageBox::Save | QMessageBox::Discard
133 | QMessageBox::Cancel);
134 if (ret == QMessageBox::Save)
136 else if (ret == QMessageBox::Cancel)
142void MdiChild::setCurrentFile(
const QString &
fileName)
144 curFile = QFileInfo(
fileName).canonicalFilePath();
146 document()->setModified(
false);
147 setWindowModified(
false);
151QString MdiChild::strippedName(
const QString & fullFileName)
153 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)
char * fileName(ingraph_state *sp)
Return name of current file being processed.