aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/desktop-utils/lumina-fm-dev/MainUI.h
diff options
context:
space:
mode:
authorWeblate <noreply@weblate.org>2017-09-20 10:04:33 +0000
committerWeblate <noreply@weblate.org>2017-09-20 10:04:33 +0000
commit6a570a2c9648c47c3c58d96f139feab6596105ae (patch)
treea61a7e3e8149c96474db636b282559ddd9d90ed9 /src-qt5/desktop-utils/lumina-fm-dev/MainUI.h
parentTranslated using Weblate (Finnish) (diff)
parentGet the window embed routine cleaned up and demo-ready. (diff)
downloadlumina-6a570a2c9648c47c3c58d96f139feab6596105ae.tar.gz
lumina-6a570a2c9648c47c3c58d96f139feab6596105ae.tar.bz2
lumina-6a570a2c9648c47c3c58d96f139feab6596105ae.zip
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'src-qt5/desktop-utils/lumina-fm-dev/MainUI.h')
-rw-r--r--src-qt5/desktop-utils/lumina-fm-dev/MainUI.h193
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
bgstack15