From 71737f70949bd25f9aa8bc4e7d03039ba83c6cb1 Mon Sep 17 00:00:00 2001 From: Kris Moore Date: Thu, 4 Sep 2014 11:42:13 -0400 Subject: Initial import of the lumina code from pcbsd git repo --- lumina-desktop/desktop-plugins/LDPlugin.h | 59 +++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 lumina-desktop/desktop-plugins/LDPlugin.h (limited to 'lumina-desktop/desktop-plugins/LDPlugin.h') diff --git a/lumina-desktop/desktop-plugins/LDPlugin.h b/lumina-desktop/desktop-plugins/LDPlugin.h new file mode 100644 index 00000000..e8a1f5f3 --- /dev/null +++ b/lumina-desktop/desktop-plugins/LDPlugin.h @@ -0,0 +1,59 @@ +//=========================================== +// Lumina-DE source code +// Copyright (c) 2014, Ken Moore +// Available under the 3-clause BSD license +// See the LICENSE file for full details +//=========================================== +// This class is the generic container layout for all desktop plugins +// Simply subclass this when creating a new plugin to enable correct +// visibility and usage within the desktop window +//=========================================== +// WARNING: Do *not* setup a custom context menu for plugins! +// This can prevent access to the general desktop context menu if +// the plugin was maximized to fill the desktop area! +//=========================================== +#ifndef _LUMINA_DESKTOP_DESKTOP_PLUGIN_H +#define _LUMINA_DESKTOP_DESKTOP_PLUGIN_H + +#include +#include +#include +#include +#include +#include +#include + +class LDPlugin : public QWidget{ + Q_OBJECT + +private: + QString PLUGID; + +public: + QSettings *settings; + + LDPlugin(QWidget *parent = 0, QString id="unknown") : QWidget(parent){ + PLUGID=id; + settings = new QSettings("desktop-plugins",PLUGID); + } + + ~LDPlugin(){ + delete settings; + } + + QString ID(){ + return PLUGID; + } + +public slots: + virtual void LocaleChange(){ + //This needs to be re-implemented in the subclassed plugin + //This is where all text is set/translated + } + virtual void ThemeChange(){ + //This needs to be re-implemented in the subclassed plugin + //This is where all the visuals are set if using Theme-dependant icons. + } +}; + +#endif \ No newline at end of file -- cgit