File indexing completed on 2024-03-24 03:51:17
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2006-2007 Torsten Rahn <tackat@kde.org> 0004 // SPDX-FileCopyrightText: 2007 Inge Wallin <ingwa@kde.org> 0005 // 0006 0007 0008 #ifndef MARBLE_KDEMAINWINDOW_H 0009 #define MARBLE_KDEMAINWINDOW_H 0010 0011 0012 #include <KXmlGui/KXmlGuiWindow> 0013 0014 class QActionGroup; 0015 class QAction; 0016 0017 namespace Marble 0018 { 0019 0020 class ControlView; 0021 class MarblePart; 0022 class MarbleWidget; 0023 0024 class MainWindow : public KXmlGuiWindow 0025 { 0026 Q_OBJECT 0027 0028 public: 0029 explicit MainWindow( const QString& marbleDataPath = QString(), 0030 QWidget *parent = nullptr ); 0031 ~MainWindow() override; 0032 0033 ControlView* marbleControl() const; 0034 MarbleWidget* marbleWidget() const; 0035 0036 public Q_SLOTS: 0037 void updateWindowTitle(); 0038 void changeViewSize( QAction* ); 0039 void updateCenterFromTheme(); 0040 0041 protected: 0042 void closeEvent( QCloseEvent *event ) override; 0043 0044 private: 0045 QSize m_savedSize; 0046 MarblePart *m_part; 0047 QActionGroup *m_viewSizeActsGroup; 0048 }; 0049 0050 } 0051 0052 #endif