aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core/lumina-desktop/LDesktop.h
diff options
context:
space:
mode:
authorKen Moore <moorekou@gmail.com>2016-04-25 13:08:12 -0400
committerKen Moore <moorekou@gmail.com>2016-04-25 13:08:12 -0400
commited5ecf7ea7a482b4649e66ecb35fbc60af680684 (patch)
treeacc0fa17d228259e847f55c678db9fb0a9b50f0c /src-qt5/core/lumina-desktop/LDesktop.h
parentMerge branch 'master' of github.com:pcbsd/lumina (diff)
downloadlumina-ed5ecf7ea7a482b4649e66ecb35fbc60af680684.tar.gz
lumina-ed5ecf7ea7a482b4649e66ecb35fbc60af680684.tar.bz2
lumina-ed5ecf7ea7a482b4649e66ecb35fbc60af680684.zip
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.
Diffstat (limited to 'src-qt5/core/lumina-desktop/LDesktop.h')
-rw-r--r--src-qt5/core/lumina-desktop/LDesktop.h105
1 files changed, 105 insertions, 0 deletions
diff --git a/src-qt5/core/lumina-desktop/LDesktop.h b/src-qt5/core/lumina-desktop/LDesktop.h
new file mode 100644
index 00000000..14b6efc3
--- /dev/null
+++ b/src-qt5/core/lumina-desktop/LDesktop.h
@@ -0,0 +1,105 @@
+//===========================================
+// 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"
+
+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 SystemLogout();
+ void SystemTerminal();
+ void SystemFileManager();
+ void SystemApplication(QAction*);
+
+ void checkResolution();
+
+private:
+ QSettings *settings;
+ QTimer *bgtimer;
+ QDesktopWidget *desktop;
+ QString DPREFIX;
+ int desktopnumber;
+ QRegion availDPArea;
+ bool defaultdesktop, desktoplocked, 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