/* Copyright (C) 2013 Hong Jen Yee (PCMan) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef FM_FOLDERMENU_H #define FM_FOLDERMENU_H #include "libfmqtglobals.h" #include #include #include "foldermodel.h" class QAction; namespace Fm { class FolderView; class LIBFM_QT_API FolderMenu : public QMenu { Q_OBJECT public: explicit FolderMenu(FolderView* view, QWidget* parent = 0); virtual ~FolderMenu(); QAction* createAction() { return createAction_; } QAction* separator1() { return separator1_; } QAction* pasteAction() { return pasteAction_; } QAction* separator2() { return separator2_; } QAction* selectAllAction() { return selectAllAction_; } QAction* invertSelectionAction() { return invertSelectionAction_; } QAction* separator3() { return separator3_; } QAction* sortAction() { return sortAction_; } QAction* showHiddenAction() { return showHiddenAction_; } QAction* separator4() { return separator4_; } QAction* propertiesAction() { return propertiesAction_; } FolderView* view() { return view_; } protected Q_SLOTS: void onPasteActionTriggered(); void onSelectAllActionTriggered(); void onInvertSelectionActionTriggered(); void onSortActionTriggered(bool checked); void onSortOrderActionTriggered(bool checked); void onShowHiddenActionTriggered(bool checked); void onCaseSensitiveActionTriggered(bool checked); void onFolderFirstActionTriggered(bool checked); void onPropertiesActionTriggered(); private: void createSortMenu(); void addSortMenuItem(QString title, int id); private: FolderView* view_; QAction* createAction_; QAction* separator1_; QAction* pasteAction_; QAction* separator2_; QAction* selectAllAction_; QAction* invertSelectionAction_; QAction* separator3_; QAction* sortAction_; QActionGroup* sortActionGroup_; QMenu* sortMenu_; QAction* sortActions_[FolderModel::NumOfColumns]; QAction* actionAscending_; QAction* actionDescending_; QAction* showHiddenAction_; QAction* separator4_; QAction* propertiesAction_; }; } #endif // FM_FOLDERMENU_H