19#include "moc_mdichild.cpp"
22 setAttribute(Qt::WA_DeleteOnClose);
32 static int sequenceNumber = 1;
35 curFile = tr(
"graph%1.gv").arg(sequenceNumber++);
36 setWindowTitle(curFile + QLatin1String(
"[*]"));
38 connect(document(), &QTextDocument::contentsChange,
this,
39 &MdiChild::documentWasModified);
44 if (!file.open(QFile::ReadOnly | QFile::Text)) {
47 tr(
"Cannot read file %1:\n%2.").arg(
fileName).arg(file.errorString()));
51 QTextStream
in(&file);
52 QApplication::setOverrideCursor(Qt::WaitCursor);
53 setPlainText(
in.readAll());
54 QApplication::restoreOverrideCursor();
58 connect(document(), &QTextDocument::contentsChange,
this,
59 &MdiChild::documentWasModified);
72 QString
fileName = QFileDialog::getSaveFileName(
this, tr(
"Save As"), curFile);
81 if (!file.open(QFile::WriteOnly | QFile::Text)) {
84 tr(
"Cannot write file %1:\n%2.").arg(
fileName).arg(file.errorString()));
88 QTextStream
out(&file);
89 QApplication::setOverrideCursor(Qt::WaitCursor);
90#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
91 out.setCodec(
"UTF-8");
95 QApplication::restoreOverrideCursor();
111void MdiChild::documentWasModified() {
112 setWindowModified(document()->isModified());
115bool MdiChild::maybeSave() {
116 if (document()->isModified()) {
117 QMessageBox::StandardButton ret;
118 ret = QMessageBox::warning(
this, tr(
"MDI"),
119 tr(
"'%1' has been modified.\n"
120 "Do you want to save your changes?")
122 QMessageBox::Save | QMessageBox::Discard |
123 QMessageBox::Cancel);
124 if (ret == QMessageBox::Save)
126 if (ret == QMessageBox::Cancel)
132void MdiChild::setCurrentFile(
const QString &
fileName) {
133 curFile = QFileInfo(
fileName).canonicalFilePath();
135 document()->setModified(
false);
136 setWindowModified(
false);
140QString MdiChild::strippedName(
const QString &fullFileName) {
141 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.