File indexing completed on 2024-05-05 04:34:55

0001 /* This file is part of Spectacle, the KDE screenshot utility
0002  * SPDX-FileCopyrightText: 2015 Boudhayan Gupta <bgupta@kde.org>
0003  * SPDX-License-Identifier: LGPL-2.0-or-later
0004  */
0005 
0006 #pragma once
0007 
0008 #include "SpectacleCore.h"
0009 #include <QDBusAbstractAdaptor>
0010 
0011 class SpectacleDBusAdapter : public QDBusAbstractAdaptor
0012 {
0013     Q_OBJECT
0014     Q_CLASSINFO("D-Bus Interface", "org.kde.Spectacle")
0015 public:
0016     SpectacleDBusAdapter(SpectacleCore *parent);
0017     ~SpectacleDBusAdapter() override = default;
0018 
0019     inline SpectacleCore *parent() const;
0020 
0021 public Q_SLOTS:
0022 
0023     Q_NOREPLY void FullScreen(int includeMousePointer);
0024     Q_NOREPLY void CurrentScreen(int includeMousePointer);
0025     Q_NOREPLY void ActiveWindow(int includeWindowDecorations, int includeMousePointer, int includeWindowShadow);
0026     Q_NOREPLY void WindowUnderCursor(int includeWindowDecorations, int includeMousePointer, int includeWindowShadow);
0027     Q_NOREPLY void RectangularRegion(int includeMousePointer);
0028     Q_NOREPLY void RecordRegion(int includeMousePointer);
0029     Q_NOREPLY void RecordScreen(int includeMousePointer);
0030     Q_NOREPLY void RecordWindow(int includeMousePointer);
0031     Q_NOREPLY void OpenWithoutScreenshot();
0032 
0033 Q_SIGNALS:
0034 
0035     void ScreenshotTaken(const QString &fileName);
0036     void ScreenshotFailed();
0037     void RecordingTaken(const QString &fileName);
0038     void RecordingFailed();
0039 };