File indexing completed on 2024-03-24 17:24:34
0001 /** 0002 * SPDX-FileCopyrightText: (C) 2003 Sébastien Laoût <slaout@linux62.org> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef CONTAINER_H 0008 #define CONTAINER_H 0009 0010 #include <KXmlGuiWindow> 0011 0012 class QResizeEvent; 0013 class QVBoxLayout; 0014 class QMoveEvent; 0015 class QWidget; 0016 class QAction; 0017 class KToggleAction; 0018 class BNPView; 0019 class SettingsDialog; 0020 0021 /** The window that contain baskets, organized by tabs. 0022 * @author Sébastien Laoût 0023 */ 0024 class MainWindow : public KXmlGuiWindow 0025 { 0026 Q_OBJECT 0027 public: 0028 /** Constructor, initializer and destructor */ 0029 explicit MainWindow(QWidget *parent = nullptr); 0030 ~MainWindow() override; 0031 0032 private: 0033 void setupActions(); 0034 public Q_SLOTS: 0035 bool askForQuit(); 0036 /** Settings **/ 0037 // void toggleToolBar(); 0038 void toggleStatusBar(); 0039 void showShortcutsSettingsDialog(); 0040 void configureToolbars() override; 0041 void configureNotifications(); 0042 void showSettingsDialog(); 0043 void minimizeRestore(); 0044 void quit(); 0045 void slotNewToolbarConfig(); 0046 0047 protected: 0048 bool queryExit(); 0049 bool queryClose() override; 0050 void resizeEvent(QResizeEvent *) override; 0051 void moveEvent(QMoveEvent *) override; 0052 0053 public: 0054 void ensurePolished(); 0055 0056 private: 0057 // Settings actions : 0058 // KToggleAction *m_actShowToolbar; 0059 KToggleAction *m_actShowStatusbar; 0060 QAction *actQuit; 0061 QAction *actAppConfig; 0062 QList<QAction *> actBasketsList; 0063 0064 private: 0065 QVBoxLayout *m_layout; 0066 BNPView *m_baskets; 0067 bool m_startDocked; 0068 SettingsDialog *m_settings; 0069 bool m_quit; 0070 }; 0071 0072 #endif // CONTAINER_H