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