File indexing completed on 2024-04-21 16:33:20

0001 /*
0002     SPDX-FileCopyrightText: 2000 Shie Erlich <erlich@users.sourceforge.net>
0003     SPDX-FileCopyrightText: 2000 Rafi Yanai <yanai@users.sourceforge.net>
0004     SPDX-FileCopyrightText: 2011 Jan Lepper <jan_lepper@gmx.de>
0005     SPDX-FileCopyrightText: 2004-2022 Krusader Krew <https://krusader.org>
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #ifndef TABACTIONS_H
0011 #define TABACTIONS_H
0012 
0013 #include "actionsbase.h"
0014 
0015 class KrMainWindow;
0016 class PanelManager;
0017 
0018 class TabActions : public ActionsBase
0019 {
0020     friend class PanelTabBar;
0021     friend class RecentlyClosedTabsMenu;
0022 
0023     Q_OBJECT
0024 
0025 public:
0026     TabActions(QObject *parent, KrMainWindow *mainWindow);
0027 
0028 public slots:
0029     void refreshActions();
0030 
0031 protected slots:
0032     void newTab();
0033     void duplicateTab();
0034     void lockTab();
0035     void pinTab();
0036     void closeTab();
0037     void undoCloseTab();
0038     void nextTab();
0039     void previousTab();
0040     void closeInactiveTabs();
0041     void closeDuplicatedTabs();
0042     void moveTabToOtherSide();
0043     void moveTabToLeft();
0044     void moveTabToRight();
0045 
0046 protected:
0047     inline PanelManager *activeManager();
0048 
0049     QAction *actNewTab;
0050     QAction *actDupTab, *actCloseTab, *actUndoCloseTab;
0051     QAction *actPreviousTab, *actNextTab, *actMoveTabToOtherSide;
0052     QAction *actCloseInactiveTabs, *actCloseDuplicatedTabs, *actLockTab, *actPinTab;
0053     QAction *actMoveTabToLeft, *actMoveTabToRight;
0054 };
0055 
0056 #endif // TABACTIONS_H