diff options
author | q5sys <jt@obs-sec.com> | 2017-08-17 19:32:10 -0400 |
---|---|---|
committer | q5sys <jt@obs-sec.com> | 2017-08-17 19:32:10 -0400 |
commit | e4b589cbc66a1d601bd9f098fe775421466ff820 (patch) | |
tree | cfa03948bec7e7962d330ad201e621079a644db6 /src-qt5/desktop-utils/lumina-fm-dev/MainUI.h | |
parent | Translated using Weblate (Catalan) (diff) | |
download | lumina-e4b589cbc66a1d601bd9f098fe775421466ff820.tar.gz lumina-e4b589cbc66a1d601bd9f098fe775421466ff820.tar.bz2 lumina-e4b589cbc66a1d601bd9f098fe775421466ff820.zip |
add lumina-fm-dev to tree while I work on it
Diffstat (limited to 'src-qt5/desktop-utils/lumina-fm-dev/MainUI.h')
-rw-r--r-- | src-qt5/desktop-utils/lumina-fm-dev/MainUI.h | 193 |
1 files changed, 193 insertions, 0 deletions
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 <QMainWindow> +#include <QTabBar> +#include <QLineEdit> +#include <QFileSystemModel> +#include <QStringList> +#include <QDebug> +#include <QAction> +#include <QProcess> +#include <QSettings> +#include <QInputDialog> +#include <QMessageBox> +#include <QDir> +#include <QTimer> +#include <QDateTime> +#include <QShortcut> +#include <QCompleter> +#include <QClipboard> +#include <QMimeData> +#include <QTreeWidgetItem> +#include <QListWidgetItem> +#include <QRadioButton> +#include <QWidgetAction> +#include <QImageReader> +#include <QScrollBar> +#include <QFileDialog> +#include <QResizeEvent> +#include <QDesktopWidget> +#include <QThread> +#include <QUrl> +#include <QThread> + +//Multimedia Widgets +#include <QVideoWidget> +#include <QMediaPlayer> + +// libLumina includes +#include <LuminaXDG.h> +#include <LuminaOS.h> + +// 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<DirWidget*> 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 |