settings: save parameters only when editing finished
Change-Id: Ieaeb2d40cff9cf34337aae634289004ba37d39f9
diff --git a/src/AccAdvancedRingVC.mm b/src/AccAdvancedRingVC.mm
index 9beedbc..b2efa4e 100644
--- a/src/AccAdvancedRingVC.mm
+++ b/src/AccAdvancedRingVC.mm
@@ -122,11 +122,9 @@
#pragma mark - NSTextFieldDelegate methods
--(void)controlTextDidChange:(NSNotification *)notif
+-(void)controlTextDidEndEditing:(NSNotification *)notif
{
NSTextField *textField = [notif object];
- NSRange test = [[textField currentEditor] selectedRange];
-
[self valueDidChange:textField];
}
diff --git a/src/AccAdvancedSipVC.mm b/src/AccAdvancedSipVC.mm
index 663bad3..abab97d 100644
--- a/src/AccAdvancedSipVC.mm
+++ b/src/AccAdvancedSipVC.mm
@@ -354,11 +354,9 @@
#pragma mark - NSTextFieldDelegate methods
--(void)controlTextDidChange:(NSNotification *)notif
+-(void)controlTextDidEndEditing:(NSNotification *)notif
{
NSTextField *textField = [notif object];
- NSRange test = [[textField currentEditor] selectedRange];
-
[self valueDidChange:textField];
}
diff --git a/src/AccRingGeneralVC.mm b/src/AccRingGeneralVC.mm
index 93a4eec..ef9db62 100644
--- a/src/AccRingGeneralVC.mm
+++ b/src/AccRingGeneralVC.mm
@@ -297,15 +297,15 @@
#pragma mark - NSTextFieldDelegate delegate methods
-- (void)controlTextDidChange:(NSNotification *)notif
+-(void)controlTextDidEndEditing:(NSNotification *)notification
{
- NSTextField* textField = [notif object];
+ NSTextField* textField = [notification object];
if (textField.tag != DISPLAYNAME) {
return;
}
+
NSString* displayName = textField.stringValue;
- [NSObject cancelPreviousPerformRequestsWithTarget:self];
self.accountModel->setAlias(self.selectedAccountID, QString::fromNSString(displayName));
lrc::api::account::ConfProperties_t accountProperties = self.accountModel->getAccountConfig(self.selectedAccountID);
self.accountModel->setAccountConfig(self.selectedAccountID, accountProperties);
@@ -423,6 +423,7 @@
[self.view.window beginSheet: passwordWC.window completionHandler:nil];
}
- (IBAction)triggerAdwancedSettings: (NSButton *)sender {
+ [self.view.window makeFirstResponder:nil];
[self.delegate triggerAdvancedOptions];
}
diff --git a/src/AccSipGeneralVC.mm b/src/AccSipGeneralVC.mm
index 7bdff36..b9a720c 100644
--- a/src/AccSipGeneralVC.mm
+++ b/src/AccSipGeneralVC.mm
@@ -118,6 +118,7 @@
}
- (IBAction)triggerAdwancedSettings: (NSButton *)sender {
+ [self.view.window makeFirstResponder:nil];
[self.delegate triggerAdvancedOptions];
}
@@ -261,15 +262,13 @@
#pragma mark - NSTextFieldDelegate delegate methods
-- (void)controlTextDidChange:(NSNotification *)notif
+-(void)controlTextDidEndEditing:(NSNotification *)notification
{
- NSTextField* textField = [notif object];
+ NSTextField* textField = [notification object];
if (textField.tag != DISPLAYNAME) {
return;
}
NSString* displayName = textField.stringValue;
-
- [NSObject cancelPreviousPerformRequestsWithTarget:self];
self.accountModel->setAlias(self.selectedAccountID, QString::fromNSString(displayName));
lrc::api::account::ConfProperties_t accountProperties = self.accountModel->getAccountConfig(self.selectedAccountID);
self.accountModel->setAccountConfig(self.selectedAccountID, accountProperties);