aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core/lumina-desktop-unified/src-DE/LDesktop.h
diff options
context:
space:
mode:
Diffstat (limited to 'src-qt5/core/lumina-desktop-unified/src-DE/LDesktop.h')
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-DE/LDesktop.h107
1 files changed, 107 insertions, 0 deletions
diff --git a/src-qt5/core/lumina-desktop-unified/src-DE/LDesktop.h b/src-qt5/core/lumina-desktop-unified/src-DE/LDesktop.h
new file mode 100644
index 00000000..b6034c18
--- /dev/null
+++ b/src-qt5/core/lumina-desktop-unified/src-DE/LDesktop.h
@@ -0,0 +1,107 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2012-2015, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_DESKTOP_LDESKTOP_H
+#define _LUMINA_DESKTOP_LDESKTOP_H
+
+#include <QCoreApplication>
+
+
+#include <QSettings>
+#include <QFile>
+#include <QList>
+#include <QDebug>
+#include <QTimer>
+#include <QFileSystemWatcher>
+#include <QLabel>
+#include <QWidgetAction>
+#include <QMdiArea>
+#include <QMdiSubWindow>
+#include <QRegion>
+
+
+#include <LuminaXDG.h>
+
+#include "LPanel.h"
+//#include "Globals.h"
+#include "AppMenu.h"
+#include "LDesktopPluginSpace.h"
+#include "desktop-plugins/LDPlugin.h"
+//#include "desktop-plugins/NewDP.h"
+#include "LDesktopBackground.h"
+
+class LDesktop : public QObject{
+ Q_OBJECT
+public:
+ LDesktop(int deskNum=0, bool setdefault = false);
+ ~LDesktop();
+
+ int Screen(); //return the screen number this object is managing
+ void show();
+ void hide();
+ void prepareToClose();
+
+ WId backgroundID();
+ QRect availableScreenGeom();
+
+ void UpdateGeometry();
+
+public slots:
+ void SystemLock();
+ void SystemLogout();
+ void SystemTerminal();
+ void SystemFileManager();
+ void SystemApplication(QAction*);
+
+ void checkResolution();
+
+private:
+ QSettings *settings;
+ QTimer *bgtimer;
+ //QDesktopWidget *desktop;
+ QString DPREFIX, screenID;
+ //int desktopnumber;
+ QRegion availDPArea;
+ bool defaultdesktop, issyncing, usewinmenu, bgupdating;
+ QStringList oldBGL;
+ QList<LPanel*> PANELS;
+ LDesktopPluginSpace *bgDesktop; //desktop plugin area
+ //QWidget *bgWindow; //full screen background
+ QMenu *deskMenu, *winMenu;
+ QLabel *workspacelabel;
+ QWidgetAction *wkspaceact;
+ QList<LDPlugin*> PLUGINS;
+ QString CBG; //current background
+ QRect globalWorkRect;
+
+private slots:
+ void InitDesktop();
+ void SettingsChanged();
+ void UnlockSettings(){ issyncing=false; }
+ void LocaleChanged();
+
+ //Menu functions
+ void UpdateMenu(bool fast = false);
+ void ShowMenu(){
+ UpdateMenu(true); //run the fast version
+ deskMenu->popup(QCursor::pos()); //}
+ }
+ void UpdateWinMenu();
+ void winClicked(QAction*);
+
+ //Desktop plugin system functions
+ void UpdateDesktop();
+ void RemoveDeskPlugin(QString);
+ void IncreaseDesktopPluginIcons();
+ void DecreaseDesktopPluginIcons();
+
+ void UpdatePanels();
+
+ void UpdateDesktopPluginArea(); //make sure the area is not underneath any panels
+
+ void UpdateBackground();
+};
+#endif
bgstack15