File indexing completed on 2024-04-28 13:45:11
0001 /* 0002 SPDX-FileCopyrightText: 2010 Jan Lepper <dehtris@yahoo.de> 0003 SPDX-FileCopyrightText: 2010-2022 Krusader Krew <https://krusader.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef KRMAINWINDOW_H 0009 #define KRMAINWINDOW_H 0010 0011 #include <QAction> 0012 #include <QWidget> 0013 0014 #include "abstractpanelmanager.h" 0015 0016 class KActionCollection; 0017 class KrPanel; 0018 class KrActions; 0019 class KrView; 0020 class ListPanelActions; 0021 class PopularUrls; 0022 class TabActions; 0023 class ViewActions; 0024 0025 /** 0026 * @brief Abstract file manager main window 0027 */ 0028 class KrMainWindow 0029 { 0030 public: 0031 virtual ~KrMainWindow() 0032 { 0033 } 0034 virtual QWidget *widget() = 0; 0035 virtual KrView *activeView() = 0; 0036 virtual ViewActions *viewActions() = 0; 0037 virtual KActionCollection *actions() = 0; 0038 virtual AbstractPanelManager *activeManager() = 0; 0039 virtual AbstractPanelManager *leftManager() = 0; 0040 virtual AbstractPanelManager *rightManager() = 0; 0041 virtual PopularUrls *popularUrls() = 0; 0042 virtual KrActions *krActions() = 0; 0043 virtual ListPanelActions *listPanelActions() = 0; 0044 virtual TabActions *tabActions() = 0; 0045 virtual void plugActionList(const char *name, QList<QAction *> &list) = 0; 0046 0047 KrPanel *activePanel() 0048 { 0049 return activeManager()->currentPanel(); 0050 } 0051 KrPanel *leftPanel() 0052 { 0053 return leftManager()->currentPanel(); 0054 } 0055 KrPanel *rightPanel() 0056 { 0057 return rightManager()->currentPanel(); 0058 } 0059 }; 0060 0061 #endif // KRMAINWINDOW_H