From 74b22318b8df6c1e9355b73a16bb755a5178b8d6 Mon Sep 17 00:00:00 2001 From: Mavridis Philippe Date: Tue, 30 Mar 2021 13:58:33 +0300 Subject: Initial commit (KDE3 version) Signed-off-by: Mavridis Philippe --- src/komposeviewmanager.h | 79 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 src/komposeviewmanager.h (limited to 'src/komposeviewmanager.h') diff --git a/src/komposeviewmanager.h b/src/komposeviewmanager.h new file mode 100644 index 0000000..8117f6d --- /dev/null +++ b/src/komposeviewmanager.h @@ -0,0 +1,79 @@ +// +// C++ Interface: %{MODULE} +// +// Description: +// +// +// Author: %{AUTHOR} <%{EMAIL}>, (C) %{YEAR} +// +// Copyright: See COPYING file that comes with this distribution +// +// +#ifndef KOMPOSEVIEWMANAGER_H +#define KOMPOSEVIEWMANAGER_H + +#include +#include + +#include "komposedcopiface.h" +#include "komposefullscreenwidget.h" + +class KomposeTask; +class QTimer; + +/** +@author Hans Oischinger +*/ +class KomposeViewManager : public QObject, virtual public KomposeDcopIface +{ + Q_OBJECT +protected: + KomposeViewManager(); + ~KomposeViewManager(); + +public: + static KomposeViewManager *instance(); + + KomposeFullscreenWidget* getViewWidget() { return viewWidget; } + +public slots: + void createView( int type = -1 ); // -1 means the user's default + void createVirtualDesktopView() { createView( KOMPOSEDISPLAY_VIRTUALDESKS ); } + void createCurrentDesktopView() { createView( KOMPOSEDISPLAY_CURRENTDESK ); } + void createWorldView() { createView( KOMPOSEDISPLAY_WORLD ); } + void createDefaultView() { createView(); } + + void closeCurrentView(); + bool hasActiveView() { return activeView; } + bool getBlockScreenshots() { return blockScreenshots; } + int getDesktopBeforeSnaps() { return deskBeforeSnaps - 1; } + + void setCurrentDesktop( int desknum ); + void activateTask( KomposeTask* task ); + +protected slots: + void toggleBlockScreenshots(); + void checkCursorPos(); + void reCheckCursorPos(); + + void uglyQtHackInitFunction(); + void slotStartCursorUpdateTimer(); + +signals: + void viewClosed(); + +private: + KomposeFullscreenWidget *viewWidget; // the widget where all action takes place + bool activeView; // used to check if a view is active + bool blockScreenshots; // no screenshots when true + int deskBeforeSnaps; // the virtual desk we were on befor screenshots were taken + + QTimer *cursorUpdateTimer; + // The 4 corners + QPoint topLeftCorner; + QPoint topRightCorner; + QPoint bottomLeftCorner; + QPoint bottomRightCorner; +}; + +#endif -- cgit v1.2.1