File indexing completed on 2025-03-09 03:49:43
0001 /* 0002 SPDX-FileCopyrightText: 1998 Anders Widell <d95-awi@nada.kth.se> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef MAINWINDOW_H 0008 #define MAINWINDOW_H 0009 0010 #include "Bookmark.h" 0011 #include "InternalCollections.h" 0012 0013 #include <KXmlGuiWindow> 0014 0015 #include <QUrl> 0016 0017 class PlayFieldView; 0018 class PlayField; 0019 class LevelCollection; 0020 class KSelectAction; 0021 class QAction; 0022 0023 class MainWindow : public KXmlGuiWindow 0024 { 0025 Q_OBJECT 0026 0027 public: 0028 MainWindow(); 0029 ~MainWindow() override; 0030 0031 public: 0032 void openURL(const QUrl &_url); 0033 0034 public Q_SLOTS: 0035 void changeCollection(int id); 0036 void setBookmark(QAction *action); 0037 void goToBookmark(QAction *action); 0038 0039 void loadLevels(); 0040 0041 public: 0042 QSize sizeHint() const override; 0043 0044 protected: 0045 void focusInEvent(QFocusEvent *) override; 0046 void dragEnterEvent(QDragEnterEvent *) override; 0047 void dropEvent(QDropEvent *) override; 0048 0049 private: 0050 void updateBookmark(int num); 0051 void handleAnimSpeedSelected(QAction *action); 0052 void setupActions(); 0053 void createCollectionMenu(); 0054 0055 private: 0056 InternalCollections internalCollections_; 0057 LevelCollection *externalCollection_ = nullptr; 0058 PlayField *playField_; 0059 Bookmark *bookmarks_[10]; 0060 0061 PlayFieldView *playFieldView_; 0062 QAction *qa_slow; 0063 QAction *qa_medium; 0064 QAction *qa_fast; 0065 QAction *qa_off; 0066 QAction *setBM_act[10]; 0067 QAction *goToBM_act[10]; 0068 KSelectAction *collectionsAct_; 0069 }; 0070 0071 #endif /* MAINWINDOW_H */