File indexing completed on 2024-04-28 17:06:23

0001 /*
0002     SPDX-FileCopyrightText: 2010 Jan Lepper <krusader@users.sourceforge.net>
0003     SPDX-FileCopyrightText: 2010-2022 Krusader Krew <https://krusader.org>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #ifndef LISTPANELACTIONS_H
0009 #define LISTPANELACTIONS_H
0010 
0011 #include "../actionsbase.h"
0012 
0013 // QtWidgets
0014 #include <QAction>
0015 
0016 class KrMainWindow;
0017 class KrPanel;
0018 class ListPanelFunc;
0019 
0020 class ListPanelActions : public ActionsBase
0021 {
0022     Q_OBJECT
0023 public:
0024     ListPanelActions(QObject *parent, KrMainWindow *mainWindow);
0025 
0026 public slots:
0027     // set view type
0028     void setView(int id);
0029 
0030     // navigation
0031     void openLeftBookmarks();
0032     void openRightBookmarks();
0033     void openLeftHistory();
0034     void openRightHistory();
0035     void openLeftMedia();
0036     void openRightMedia();
0037 
0038     void activePanelChanged();
0039     void guiUpdated();
0040 
0041 public:
0042     QAction *actRenameF2, *actViewFileF3, *actEditFileF4, *actCopyF5, *actMoveF6, *actNewFolderF7, *actDeleteF8, *actTerminalF9;
0043     QAction *actNewFileShiftF4, *actCopyDelayedF5, *actMoveDelayedShiftF6;
0044     QAction *actProperties, *actPack, *actUnpack, *actTest, *actCompDirs, *actCalculate, *actSync;
0045     QAction *actFTPConnect, *actFTPNewConnect, *actFTPDisconnect;
0046     QAction *actLocationBar, *actJumpBack, *actSetJumpBack;
0047     QAction *actCreateChecksum, *actMatchChecksum;
0048     QAction *actCopy, *actCut, *actPaste;
0049     QAction *actHistoryBackward, *actHistoryForward, *actDirUp, *actRoot, *actHome, *actCdToOther;
0050     QAction *actSyncBrowse, *actCancelRefresh;
0051 
0052     QHash<int /*id*/, QAction *> setViewActions;
0053 
0054 protected:
0055     KrPanel *activePanel();
0056     KrPanel *leftPanel();
0057     KrPanel *rightPanel();
0058 
0059     ActionGroup _gui, _func;
0060 };
0061 
0062 #endif // LISTPANELACTIONS_H