diff options
Diffstat (limited to 'src-qt5/core/lumina-wm-INCOMPLETE/SSBaseWidget.h')
-rw-r--r-- | src-qt5/core/lumina-wm-INCOMPLETE/SSBaseWidget.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src-qt5/core/lumina-wm-INCOMPLETE/SSBaseWidget.h b/src-qt5/core/lumina-wm-INCOMPLETE/SSBaseWidget.h new file mode 100644 index 00000000..a6574679 --- /dev/null +++ b/src-qt5/core/lumina-wm-INCOMPLETE/SSBaseWidget.h @@ -0,0 +1,55 @@ +//=========================================== +// Lumina-DE source code +// Copyright (c) 2015, Ken Moore +// Available under the 3-clause BSD license +// See the LICENSE file for full details +//=========================================== +// This class is the widget which provides the screensaver painting/plugin functionality +//=========================================== +#ifndef _LUMINA_DESKTOP_SCREEN_SAVER_BASE_WIDGET_H +#define _LUMINA_DESKTOP_SCREEN_SAVER_BASE_WIDGET_H + +#include "GlobalDefines.h" +#include "animations/BaseAnimGroup.h" + +class SSBaseWidget : public QWidget{ + Q_OBJECT +public: + SSBaseWidget(QWidget *parent, QSettings *set); + ~SSBaseWidget(); + + void setPlugin(QString); + +public slots: + void startPainting(); + void stopPainting(); + +private: + QString plugType, cplug; //type of custom painting to do + BaseAnimGroup *ANIM; + QSettings *settings; + +private slots: + +signals: + void InputDetected(); //just in case no event handling setup at the WM level + +protected: + void mouseMoveEvent(QMouseEvent *ev){ + ev->accept(); + emit InputDetected(); + } + void keyPressEvent(QKeyEvent *ev){ + ev->accept(); + emit InputDetected(); + } + void paintEvent(QPaintEvent*){ + QStyleOption opt; + opt.init(this); + QPainter p(this); + style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); + } + +}; + +#endif |