settings: add recording options
Change-Id: Ia0ad1cdf45a1bef8b82f33c3cdc27b57e7f23fc0
diff --git a/src/GeneralPrefsVC.mm b/src/GeneralPrefsVC.mm
index c6ea2d9..bfa740d 100644
--- a/src/GeneralPrefsVC.mm
+++ b/src/GeneralPrefsVC.mm
@@ -32,12 +32,19 @@
@interface GeneralPrefsVC () {
__unsafe_unretained IBOutlet NSButton* startUpButton;
__unsafe_unretained IBOutlet NSButton* toggleAutomaticUpdateCheck;
+ __unsafe_unretained IBOutlet NSButton* alwaysRecording;
+ __unsafe_unretained IBOutlet NSButton* recordPreview;
__unsafe_unretained IBOutlet NSPopUpButton* checkIntervalPopUp;
- __unsafe_unretained IBOutlet NSView* sparkleContainer;
+ __unsafe_unretained IBOutlet NSStackView* sparkleContainer;
__unsafe_unretained IBOutlet NSButton *downloadFolder;
__unsafe_unretained IBOutlet NSTextField *downloadFolderLabel;
__unsafe_unretained IBOutlet NSButton *recordingFolder;
__unsafe_unretained IBOutlet NSTextField *recordingFolderLabel;
+ __unsafe_unretained IBOutlet NSStackView *generalStackView;
+ __unsafe_unretained IBOutlet NSStackView *conversationStackView;
+ __unsafe_unretained IBOutlet NSStackView *recordingFolderStackView;
+ __unsafe_unretained IBOutlet NSSlider *qualitySlider;
+ __unsafe_unretained IBOutlet NSTextField *qualityLabel;
}
@end
@@ -59,6 +66,7 @@
- (void)loadView
{
[super loadView];
+ CGFloat heightToReduice = 0;
[startUpButton setState:[self isLaunchAtStartup]];
#if ENABLE_SPARKLE
[sparkleContainer setHidden:NO];
@@ -69,24 +77,29 @@
[checkIntervalPopUp bind:@"selectedTag" toObject:updater withKeyPath:@"updateCheckInterval" options:nil];
#else
[sparkleContainer setHidden:YES];
+ heightToReduice += (sparkleContainer.frame.size.height + 25);
#endif
+ [alwaysRecording setState: avModel->getAlwaysRecord()];
+ [recordPreview setState: avModel->getRecordPreview()];
+ [qualitySlider setDoubleValue: avModel->getRecordQuality()];
+ [qualityLabel setIntValue:avModel->getRecordQuality()];
if (appSandboxed()) {
- [downloadFolder setHidden:YES];
- [downloadFolder setEnabled:NO];
- [downloadFolderLabel setHidden: YES];
- [recordingFolder setHidden:YES];
- [recordingFolder setEnabled:NO];
- [recordingFolderLabel setHidden:YES];
- return;
+ [recordingFolderStackView setHidden:YES];
+ [conversationStackView setHidden:YES];
+ heightToReduice += (downloadFolder.frame.size.height + recordingFolder.frame.size.height + 25);
+ } else {
+ if (dataTransferModel) {
+ downloadFolder.title = [@(dataTransferModel->downloadDirectory.c_str()) lastPathComponent];
+ }
+ if (avModel) {
+ auto name1 = avModel->getRecordPath();
+ auto name = @(avModel->getRecordPath().c_str());
+ recordingFolder.title = [@(avModel->getRecordPath().c_str()) lastPathComponent];
+ }
}
- if (dataTransferModel) {
- downloadFolder.title = [@(dataTransferModel->downloadDirectory.c_str()) lastPathComponent];
- }
- if (avModel) {
- auto name1 = avModel->getRecordPath();
- auto name = @(avModel->getRecordPath().c_str());
- recordingFolder.title = [@(avModel->getRecordPath().c_str()) lastPathComponent];
- }
+ auto frame = self.view.frame;
+ frame.size.height -= heightToReduice;
+ self.view.frame = frame;
}
- (IBAction)changeDownloadFolder:(id)sender {
@@ -118,6 +131,18 @@
[[NSUserDefaults standardUserDefaults] setObject:path forKey:Preferences::DownloadFolder];
}
+- (IBAction)alwaysRecording:(id)sender {
+ avModel->setAlwaysRecord([sender state]);
+}
+
+- (IBAction)recordPreview:(id)sender {
+ avModel->setRecordPreview([sender state]);
+}
+
+- (IBAction)setRecordingQuality:(NSSlider*)sender {
+ avModel->setRecordQuality([sender intValue]);
+}
+
#pragma mark - Startup API
// MIT license by Brian Dunagan