diff options
author | Ken Moore <moorekou@gmail.com> | 2016-04-25 13:08:12 -0400 |
---|---|---|
committer | Ken Moore <moorekou@gmail.com> | 2016-04-25 13:08:12 -0400 |
commit | ed5ecf7ea7a482b4649e66ecb35fbc60af680684 (patch) | |
tree | acc0fa17d228259e847f55c678db9fb0a9b50f0c /src-qt5/core/lumina-desktop/LDesktop.h | |
parent | Merge branch 'master' of github.com:pcbsd/lumina (diff) | |
download | lumina-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.h | 105 |
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 |