From e4b589cbc66a1d601bd9f098fe775421466ff820 Mon Sep 17 00:00:00 2001 From: q5sys Date: Thu, 17 Aug 2017 19:32:10 -0400 Subject: add lumina-fm-dev to tree while I work on it --- src-qt5/desktop-utils/lumina-fm-dev/MainUI.h | 193 +++++++++++++++++++++++++++ 1 file changed, 193 insertions(+) create mode 100644 src-qt5/desktop-utils/lumina-fm-dev/MainUI.h (limited to 'src-qt5/desktop-utils/lumina-fm-dev/MainUI.h') diff --git a/src-qt5/desktop-utils/lumina-fm-dev/MainUI.h b/src-qt5/desktop-utils/lumina-fm-dev/MainUI.h new file mode 100644 index 00000000..492ba533 --- /dev/null +++ b/src-qt5/desktop-utils/lumina-fm-dev/MainUI.h @@ -0,0 +1,193 @@ +//=========================================== +// 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 "TrayUI.h" +#include "BMMDialog.h" //bookmark manager dialog + +#include "DirData.h" +#include "widgets/MultimediaWidget.h" +#include "widgets/SlideshowWidget.h" +#include "widgets/DirWidget2.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; + + //UI Widgets + QList DWLIST; + MultimediaWidget *MW; + SlideshowWidget *SW; + TrayUI *TRAY; + bool waitingToClose; + + QSettings *settings; + QShortcut *nextTabLShort, *nextTabRShort, *togglehiddenfilesShort, *focusDirWidgetShort; + //QShortcut *toggledirtreepaneShort; + //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_actionView_showDirTreePane_triggered(); + //void on_actionShow_Action_Buttons_triggered(); + void treeWidgetWidthChanged(float percent); + 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(); + //Git Menu options + void on_menuGit_aboutToShow(); + void on_actionRepo_Status_triggered(); + void on_actionClone_Repository_triggered(); + + //Tab interactions + void tabChanged(int tab = -1); + void tabClosed(int tab = -1); + void nextTab(); //For keyboard shortcuts + void prevTab(); //For keyboard shortcuts + + //Other Shortcuts + void togglehiddenfiles(); + //void toggleDirTreePane(); + void focusDirWidget(); + + //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 + void TabNameChanged(QString, QString); // ID/name + + //file info in status bar + void DisplayStatusBar(QString); + + void TrayJobsFinished(); + +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 + } + + void closeEvent(QCloseEvent *ev); + +}; + +#endif -- cgit