aboutsummaryrefslogtreecommitdiff
path: root/QSCapturaPlugin/Commands
diff options
context:
space:
mode:
Diffstat (limited to 'QSCapturaPlugin/Commands')
-rw-r--r--QSCapturaPlugin/Commands/StartRecordingCommand.h13
-rw-r--r--QSCapturaPlugin/Commands/StartRecordingCommand.m23
2 files changed, 36 insertions, 0 deletions
diff --git a/QSCapturaPlugin/Commands/StartRecordingCommand.h b/QSCapturaPlugin/Commands/StartRecordingCommand.h
new file mode 100644
index 0000000..aa6bcab
--- /dev/null
+++ b/QSCapturaPlugin/Commands/StartRecordingCommand.h
@@ -0,0 +1,13 @@
+#import "Constants.h"
+#import <Foundation/Foundation.h>
+#import <QSCore/QSCore.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface StartRecordingCommand : QSActionProvider
+
+- (QSObject *)startRecording:(QSObject *)directObject;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/QSCapturaPlugin/Commands/StartRecordingCommand.m b/QSCapturaPlugin/Commands/StartRecordingCommand.m
new file mode 100644
index 0000000..4a3f1f3
--- /dev/null
+++ b/QSCapturaPlugin/Commands/StartRecordingCommand.m
@@ -0,0 +1,23 @@
+#import "StartRecordingCommand.h"
+#import <ApplicationServices/ApplicationServices.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@implementation StartRecordingCommand
+
+- (QSObject *)startRecording:(QSObject *)directObject
+{
+ NSString *capturaURL = @"captura:?action=record";
+ NSURL *url = [NSURL URLWithString:capturaURL];
+ if (url) {
+ [[NSWorkspace sharedWorkspace] openURL:url];
+ } else {
+ NSLog(@"Failed to create valid URL");
+ }
+
+ return directObject;
+}
+
+@end
+
+NS_ASSUME_NONNULL_END