diff options
Diffstat (limited to 'src-qt5/core/lumina-desktop/src-screensaver/SSBaseWidget.h')
-rw-r--r-- | src-qt5/core/lumina-desktop/src-screensaver/SSBaseWidget.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src-qt5/core/lumina-desktop/src-screensaver/SSBaseWidget.h b/src-qt5/core/lumina-desktop/src-screensaver/SSBaseWidget.h new file mode 100644 index 00000000..e0a03d17 --- /dev/null +++ b/src-qt5/core/lumina-desktop/src-screensaver/SSBaseWidget.h @@ -0,0 +1,50 @@ +//=========================================== +// 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 "global-includes.h" +#include <plugins-base.h> +#include <plugins-screensaver.h> + +class SSBaseWidget : public QQuickView{ + Q_OBJECT +public: + SSBaseWidget(QWidget *parent); + ~SSBaseWidget(); + + void setPlugin(QString); + +public slots: + void startPainting(); + void stopPainting(); + +private: + QString plugType; + SSPlugin cplug; + QTimer *restartTimer; + +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(); + } + +}; + +#endif |