From ed5ecf7ea7a482b4649e66ecb35fbc60af680684 Mon Sep 17 00:00:00 2001 From: Ken Moore Date: Mon, 25 Apr 2016 13:08:12 -0400 Subject: Rearrange the Lumina source tree quite a bit: Now the utilites are arranged by category (core, core-utils, desktop-utils), so all the -utils may be excluded by a package system (or turned into separate packages) as needed. --- src-qt5/desktop-utils/lumina-fm/MainUI.h | 173 +++++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 src-qt5/desktop-utils/lumina-fm/MainUI.h (limited to 'src-qt5/desktop-utils/lumina-fm/MainUI.h') diff --git a/src-qt5/desktop-utils/lumina-fm/MainUI.h b/src-qt5/desktop-utils/lumina-fm/MainUI.h new file mode 100644 index 00000000..6c286152 --- /dev/null +++ b/src-qt5/desktop-utils/lumina-fm/MainUI.h @@ -0,0 +1,173 @@ +//=========================================== +// Lumina-DE source code +// Copyright (c) 2014-2015, Ken Moore +// Available under the 3-clause BSD license +// See the LICENSE file for full details +//=========================================== +// This is the main interface for the Lumina File Manager (Insight) +//=========================================== +#ifndef _LUMINA_FILE_MANAGER_UI_H +#define _LUMINA_FILE_MANAGER_UI_H +// Qt includes +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +//Multimedia Widgets +#include +#include + +// libLumina includes +#include +#include + +// Local includes +#include "FODialog.h" //file operation dialog +#include "BMMDialog.h" //bookmark manager dialog + +#include "DirData.h" +#include "widgets/MultimediaWidget.h" +#include "widgets/SlideshowWidget.h" +#include "widgets/DirWidget.h" + +namespace Ui{ + class MainUI; +}; + +class MainUI : public QMainWindow{ + Q_OBJECT +public: + MainUI(); + ~MainUI(); + +public slots: + void OpenDirs(QStringList); //also called from the main.cpp after initialization + void setupIcons(); //used during initialization + +private: + Ui::MainUI *ui; + QThread *workThread; + DirData *worker; + //Internal non-ui widgets + QTabBar *tabBar; + QFileSystemModel *fsmod; + QMenu *contextMenu; + QRadioButton *radio_view_details, *radio_view_list, *radio_view_tabs, *radio_view_cols; + QWidgetAction *detWA, *listWA, *tabsWA, *colsWA; + QString favdir; + //UI Widgets + QList DWLIST; + MultimediaWidget *MW; + SlideshowWidget *SW; + + QSettings *settings; + QShortcut *nextTabLShort, *nextTabRShort; + QCompleter *dirCompleter; + + //Simplification Functions + void setupConnections(); //used during initialization + void loadSettings(); //used during initialization + + void RebuildBookmarksMenu(); + void RebuildDeviceMenu(); + + DirWidget* FindActiveBrowser(); + +private slots: + void slotSingleInstance(QStringList in){ + this->show(); + this->raise(); + this->activateWindow(); + this->OpenDirs(in); + } + + //void slotStartSyncTimer(); + + //Menu Actions + void on_actionNew_Window_triggered(); + void on_actionNew_Tab_triggered(); + void on_actionSearch_triggered(); + void on_actionClose_Browser_triggered(); + void on_actionClose_triggered(); + void on_actionRename_triggered(); + void on_actionCut_Selection_triggered(); + void on_actionCopy_Selection_triggered(); + void on_actionPaste_triggered(); + void on_actionDelete_Selection_triggered(); + void on_actionRefresh_triggered(); + void on_actionView_Hidden_Files_triggered(); + void on_actionShow_Action_Buttons_triggered(); + void on_actionShow_Thumbnails_triggered(); + void goToBookmark(QAction*); + void goToDevice(QAction*); + void viewModeChanged(bool); + void groupModeChanged(bool); + void on_actionLarger_Icons_triggered(); + void on_actionSmaller_Icons_triggered(); + void CreateBookMark(); + + //Tab interactions + void tabChanged(int tab = -1); + void tabClosed(int tab = -1); + void nextTab(); //For keyboard shortcuts + void prevTab(); //For keyboard shortcuts + + //Backend Info passing + void DirDataAvailable(QString, QString, LFileInfoList); + void SnapshotDataAvailable(QString, QString, QStringList); + + //Dir Browser Interactions + void OpenPlayer(LFileInfoList); + void OpenImages(LFileInfoList); + void OpenTerminal(QString dirpath); + void CutFiles(QStringList); //file selection + void CopyFiles(QStringList); //file selection + void PasteFiles(QString, QStringList raw = QStringList() ); //current dir, optional list of commands + void FavoriteFiles(QStringList); //file selection + void RenameFiles(QStringList); //file selection + void RemoveFiles(QStringList); //file selection + void CloseBrowser(QString); //ID + + //file info in status bar + void DisplayStatusBar(QString); + +signals: + void Si_AdaptStatusBar(QFileInfoList fileList, QString path, QString messageFolders, QString messageFiles); + +protected: + void resizeEvent(QResizeEvent *ev){ + //Save the new size to the settings file for later + settings->setValue("preferences/MainWindowSize", ev->size()); + QMainWindow::resizeEvent(ev); //just in case the window needs to see the event too + } + +}; + +#endif -- cgit