// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause #ifndef MAINWINDOW_H #define MAINWINDOW_H #include QT_BEGIN_NAMESPACE class QAction; class QMenu; class QPlainTextEdit; class QSessionManager; QT_END_NAMESPACE //! [0] class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(); void loadFile(const QString &fileName); protected: void closeEvent(QCloseEvent *event) override; private slots: void newFile(); void open(); bool save(); bool saveAs(); void about(); void documentWasModified(); #ifndef QT_NO_SESSIONMANAGER void commitData(QSessionManager &); #endif private: void createActions(); void createStatusBar(); void readSettings(); void writeSettings(); bool maybeSave(); bool saveFile(const QString &fileName); void setCurrentFile(const QString &fileName); QString strippedName(const QString &fullFileName); QPlainTextEdit *textEdit; QString curFile; }; //! [0] #endif