From 707f24e79d6be8d570d77727eb1cedf98c685b88 Mon Sep 17 00:00:00 2001 From: Ken Moore Date: Tue, 29 Aug 2017 10:41:27 -0400 Subject: Cleanup the DesktopSettings class and add some more settings files to it. --- src-qt5/core/libLumina/DesktopSettings.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src-qt5/core/libLumina/DesktopSettings.h') diff --git a/src-qt5/core/libLumina/DesktopSettings.h b/src-qt5/core/libLumina/DesktopSettings.h index dcb10bb6..9bff6bc9 100644 --- a/src-qt5/core/libLumina/DesktopSettings.h +++ b/src-qt5/core/libLumina/DesktopSettings.h @@ -25,7 +25,8 @@ class DesktopSettings : public QObject{ Q_OBJECT public: - enum File{ System, Favorites, Environment, Session, Desktop, ContextMenu, Keys, Theme, Animation }; + enum File{ System, Favorites, Environment, Session, Desktop, Panels, Plugins, ContextMenu, Keys, Animation, ScreenSaver}; + //Changes to this enum need to be added to the "filesForRunMode()" and "rel_path()" functions as well DesktopSettings(QObject *parent = 0); ~DesktopSettings(); @@ -37,6 +38,7 @@ public: void stop(); //Main Read/Write functions + QList< DesktopSettings::File > writableFiles(); //return the list of all writable files QVariant value(DesktopSettings::File, QString variable, QVariant defaultvalue); bool setValue(DesktopSettings::File, QString variable, QVariant value); QStringList keys(DesktopSettings::File); //return a list of all variables which are available in this file @@ -51,9 +53,13 @@ private: QHash< DesktopSettings::File, QStringList > files; //location hash for where files are actually located on disk QHash< QString, QSettings*> settings; //location hash for the settings files themselves + //Functions void parseSystemSettings(); //run at start - determine the RunMode for this user/session void locateFiles(); //run at start - finds the locations of the various files (based on RunMode) void touchFile(QString path); //used to create an empty file so it can be watched for changes later + + //The two functions which define the public "File" enumeration (both need updates when the enum changes) + QList< DesktopSettings::File > filesForRunMode(RunMode mode); QString rel_path(DesktopSettings::File); //return the relative file path (starting with "/") private slots: -- cgit From c6ac1a490e8f7889d594b2641a4d4e8e8b8f5c60 Mon Sep 17 00:00:00 2001 From: Ken Moore Date: Wed, 30 Aug 2017 15:24:15 -0400 Subject: A bit more for Lumina2: 1) Get a simple "DISABLE_COMPOSITING" flag working in the NativeEmbedWidget class, and disable the compositing right now (still too many issues with using GPU-accellerated drivers) 2) Get a WM settings file created and add options for "focusFollowsMouse" (true by default) and "raiseOnFocus" (false by default). 3) Add a way for the root window to announce mouse cursor movements to the screensaver, bypassing the XCB event system (can't seem to get it to report those events anyway right now). Probably a better method anyway since moving the mouse won't cause billions of events in a short time then. With this, it seems like all the mouse cursor management systems are up and running. I have not tested using shortcuts combined with mouse buttons yet though.... --- src-qt5/core/libLumina/DesktopSettings.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src-qt5/core/libLumina/DesktopSettings.h') diff --git a/src-qt5/core/libLumina/DesktopSettings.h b/src-qt5/core/libLumina/DesktopSettings.h index 9bff6bc9..efb3776e 100644 --- a/src-qt5/core/libLumina/DesktopSettings.h +++ b/src-qt5/core/libLumina/DesktopSettings.h @@ -25,7 +25,7 @@ class DesktopSettings : public QObject{ Q_OBJECT public: - enum File{ System, Favorites, Environment, Session, Desktop, Panels, Plugins, ContextMenu, Keys, Animation, ScreenSaver}; + enum File{ System, Favorites, Environment, Session, Desktop, Panels, Plugins, ContextMenu, Keys, Animation, ScreenSaver, WM}; //Changes to this enum need to be added to the "filesForRunMode()" and "rel_path()" functions as well DesktopSettings(QObject *parent = 0); -- cgit