settings: save parameters only when editing finished

Change-Id: Ieaeb2d40cff9cf34337aae634289004ba37d39f9
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];
 }