File indexing completed on 2024-04-28 04:02:29

0001 /*
0002     SPDX-FileCopyrightText: 2007 Dmitry Suzdalev <dimsuz@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef MAINWINDOW_H
0008 #define MAINWINDOW_H
0009 
0010 // KF
0011 #include <KXmlGuiWindow>
0012 // Qt
0013 #include <QPointer>
0014 #include <QLabel>
0015 
0016 class KMinesScene;
0017 class KMinesView;
0018 class KGameClock;
0019 class KToggleAction;
0020 
0021 class KMinesMainWindow : public KXmlGuiWindow
0022 {
0023     Q_OBJECT
0024 public:
0025     KMinesMainWindow();
0026 private Q_SLOTS:
0027     void onMinesCountChanged(int count);
0028     void newGame();
0029     void onGameOver(bool);
0030     void advanceTime(const QString&);
0031     void onFirstClick();
0032     void showHighscores();
0033     void configureSettings();
0034     void pauseGame(bool paused);
0035     void loadSettings();
0036 private:
0037     void setupActions();
0038     KMinesScene* m_scene = nullptr;
0039     KMinesView* m_view = nullptr;
0040     KGameClock* m_gameClock = nullptr;
0041     KToggleAction* m_actionPause = nullptr;
0042     
0043     QPointer<QLabel> mineLabel = new QLabel;
0044     QPointer<QLabel> timeLabel = new QLabel;
0045 };
0046 #endif