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 #include "SpectacleDBusAdapter.h"
0007 #include "Platforms/ImagePlatform.h"
0008 #include "settings.h"
0009 
0010 SpectacleDBusAdapter::SpectacleDBusAdapter(SpectacleCore *parent)
0011     : QDBusAbstractAdaptor(parent)
0012 {
0013     setAutoRelaySignals(false);
0014 }
0015 
0016 inline SpectacleCore *SpectacleDBusAdapter::parent() const
0017 {
0018     return static_cast<SpectacleCore *>(QObject::parent());
0019 }
0020 
0021 void SpectacleDBusAdapter::FullScreen(int includeMousePointer)
0022 {
0023     parent()->takeNewScreenshot(CaptureModeModel::AllScreens, 0, (includeMousePointer == -1) ? Settings::includePointer() : includeMousePointer, true);
0024 }
0025 
0026 void SpectacleDBusAdapter::CurrentScreen(int includeMousePointer)
0027 {
0028     parent()->takeNewScreenshot(CaptureModeModel::CurrentScreen, 0, (includeMousePointer == -1) ? Settings::includePointer() : includeMousePointer, true);
0029 }
0030 
0031 void SpectacleDBusAdapter::ActiveWindow(int includeWindowDecorations, int includeMousePointer, int includeWindowShadow)
0032 {
0033     parent()->takeNewScreenshot(CaptureModeModel::ActiveWindow,
0034                                 0,
0035                                 (includeMousePointer == -1) ? Settings::includePointer() : includeMousePointer,
0036                                 includeWindowDecorations == -1 ? Settings::includeDecorations() : includeWindowDecorations,
0037                                 includeWindowShadow == -1 ? Settings::includeShadow() : includeWindowShadow);
0038 }
0039 
0040 void SpectacleDBusAdapter::WindowUnderCursor(int includeWindowDecorations, int includeMousePointer, int includeWindowShadow)
0041 {
0042     parent()->takeNewScreenshot(CaptureModeModel::WindowUnderCursor,
0043                                 0,
0044                                 (includeMousePointer == -1) ? Settings::includePointer() : includeMousePointer,
0045                                 includeWindowDecorations == -1 ? Settings::includeDecorations() : includeWindowDecorations,
0046                                 includeWindowShadow == -1 ? Settings::includeShadow() : includeWindowShadow);
0047 }
0048 
0049 void SpectacleDBusAdapter::RectangularRegion(int includeMousePointer)
0050 {
0051     parent()->takeNewScreenshot(CaptureModeModel::RectangularRegion,
0052                                 0,
0053                                 (includeMousePointer == -1) ? Settings::includePointer() : includeMousePointer,
0054                                 false);
0055 }
0056 
0057 void SpectacleDBusAdapter::RecordRegion(int includeMousePointer)
0058 {
0059     parent()->startRecording(VideoPlatform::Region, includeMousePointer == -1 ? Settings::videoIncludePointer() : includeMousePointer);
0060 }
0061 
0062 void SpectacleDBusAdapter::RecordScreen(int includeMousePointer)
0063 {
0064     parent()->startRecording(VideoPlatform::Screen, includeMousePointer == -1 ? Settings::videoIncludePointer() : includeMousePointer);
0065 }
0066 
0067 void SpectacleDBusAdapter::RecordWindow(int includeMousePointer)
0068 {
0069     parent()->startRecording(VideoPlatform::Window, includeMousePointer == -1 ? Settings::videoIncludePointer() : includeMousePointer);
0070 }
0071 
0072 void SpectacleDBusAdapter::OpenWithoutScreenshot()
0073 {
0074     parent()->initGuiNoScreenshot();
0075 }
0076 
0077 #include "moc_SpectacleDBusAdapter.cpp"