Author: rfm
Date: Wed Oct 14 13:25:48 2015
New Revision: 39065

URL: http://svn.gna.org/viewcvs/gnustep?rev=39065&view=rev
Log:
improve defaults handling

Modified:
    libs/ec/trunk/ChangeLog
    libs/ec/trunk/EcProcess.h
    libs/ec/trunk/EcProcess.m
    libs/ec/trunk/EcUserDefaults.h
    libs/ec/trunk/EcUserDefaults.m

Modified: libs/ec/trunk/ChangeLog
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/ec/trunk/ChangeLog?rev=39065&r1=39064&r2=39065&view=diff
==============================================================================
--- libs/ec/trunk/ChangeLog     (original)
+++ libs/ec/trunk/ChangeLog     Wed Oct 14 13:25:48 2015
@@ -1,3 +1,14 @@
+2015-10-14  Richard Frith-Macdonald <[email protected]>
+
+       * EcUserDefaults.h:
+       * EcUserDefaults.m:
+       New -revertSettings method to revert all local config settings.
+       * EcProcess.h:
+       * EcProcess.m:
+       Change cmdDefaultDbg to cmdBasicDbg to avoid confusion of the debug
+       mode with default settings.
+       Add 'defaults revert' command for Console to use.
+
 2015-10-09  Richard Frith-Macdonald <[email protected]>
 
        * EcProcess.h: declare new -launch: method

Modified: libs/ec/trunk/EcProcess.h
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/ec/trunk/EcProcess.h?rev=39065&r1=39064&r2=39065&view=diff
==============================================================================
--- libs/ec/trunk/EcProcess.h   (original)
+++ libs/ec/trunk/EcProcess.h   Wed Oct 14 13:25:48 2015
@@ -601,12 +601,12 @@
 - (void) cmdDbg: (NSString*)type
             msg: (NSString*)fmt, ... NS_FORMAT_FUNCTION(2,3);
 
-/** Send a debug message with debug mode 'defaultMode'.<br />
+/** Send a debug message with debug mode 'basicMode'.<br />
  * Calls the -cmdDbg:msg:arguments: method.
  */
 - (void) cmdDebug: (NSString*)fmt arguments: (va_list)args;
 
-/** Send a debug message with debug mode 'defaultMode'.<br />
+/** Send a debug message with debug mode 'basicMode'.<br />
  * Operates by calling the -cmdDebug:arguments: method.
  */
 - (void) cmdDebug: (NSString*)fmt, ... NS_FORMAT_FUNCTION(1,2);
@@ -1045,9 +1045,9 @@
 
 extern EcProcess       *EcProc;        /* Single instance or nil */
 
-extern NSString*       cmdConnectDbg;  /* Debug connection attempts.   */
-extern NSString*       cmdDefaultDbg;  /* Debug normal stuff.          */
-extern NSString*       cmdDetailDbg;   /* Debug stuff in more detail.  */
+extern NSString         *cmdBasicDbg;  /* Debug normal stuff.          */
+extern NSString         *cmdConnectDbg;        /* Debug connection attempts.   
*/
+extern NSString         *cmdDetailDbg; /* Debug stuff in more detail.  */
 
 
 #endif /* INCLUDED_ECPROCESS_H */

Modified: libs/ec/trunk/EcProcess.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/ec/trunk/EcProcess.m?rev=39065&r1=39064&r2=39065&view=diff
==============================================================================
--- libs/ec/trunk/EcProcess.m   (original)
+++ libs/ec/trunk/EcProcess.m   Wed Oct 14 13:25:48 2015
@@ -625,7 +625,7 @@
 }
 
 
-NSString       *cmdDefaultDbg = @"defaultMode";
+NSString       *cmdBasicDbg = @"basicMode";
 NSString       *cmdConnectDbg = @"connectMode";
 NSString       *cmdDetailDbg = @"detailMode";
 
@@ -1797,11 +1797,11 @@
       [cmdDebugKnown setObject: @"Mode for distributed object connections"
                        forKey: cmdConnectDbg];
       [cmdDebugKnown setObject: @"Standard mode for basic debug information"
-                       forKey: cmdDefaultDbg];
+                       forKey: cmdBasicDbg];
       [cmdDebugKnown setObject: @"Detailed but general purpose debugging"
                        forKey: cmdDetailDbg];
 
-      [cmdDebugModes addObject: cmdDefaultDbg];
+      [cmdDebugModes addObject: cmdBasicDbg];
 
       [self ecRegisterDefault: @"Memory"
                  withTypeText: @"YES/NO"
@@ -2003,7 +2003,7 @@
 
 - (void) cmdDebug: (NSString*)fmt arguments: (va_list)args
 {
-  if (nil != [cmdDebugModes member: cmdDefaultDbg])
+  if (nil != [cmdDebugModes member: cmdBasicDbg])
     {
       if (nil == debugLogger)
        {
@@ -3023,7 +3023,14 @@
          [self cmdPrintf: @"and value, the command sets a default.\n"];
          [self cmdPrintf: @"With the 'read' parameter followed by a name,"];
          [self cmdPrintf: @"the command is used to show a default.\n"];
-       }
+         [self cmdPrintf: @"With the 'revert' parameter,"];
+         [self cmdPrintf: @"the command is used to revert all defaults.\n"];
+       }
+      else if ([msg count] > 1 && [[msg objectAtIndex: 1] isEqual: @"revert"])
+       {
+          [cmdDefs revertSettings];
+          [self cmdPrintf: @"All settings are reverted to default.\n"];
+        }
       else if ([msg count] > 2)
        {
          NSString      *mode = (NSString*)[msg objectAtIndex: 1];

Modified: libs/ec/trunk/EcUserDefaults.h
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/ec/trunk/EcUserDefaults.h?rev=39065&r1=39064&r2=39065&view=diff
==============================================================================
--- libs/ec/trunk/EcUserDefaults.h      (original)
+++ libs/ec/trunk/EcUserDefaults.h      Wed Oct 14 13:25:48 2015
@@ -67,6 +67,11 @@
  */
 - (NSString*) key: (NSString*)aKey;
 
+/** Removes all settings previously set up using the -setCommand:forKey:
+ * method.
+ */
+- (void) revertSettings;
+
 /** Sets a value to take precedence over others (in the volatile domain
  * reserved for commands issued to the current process by an operator).<br />
  * Setting a nil value removes any previously set value so that behavior

Modified: libs/ec/trunk/EcUserDefaults.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/ec/trunk/EcUserDefaults.m?rev=39065&r1=39064&r2=39065&view=diff
==============================================================================
--- libs/ec/trunk/EcUserDefaults.m      (original)
+++ libs/ec/trunk/EcUserDefaults.m      Wed Oct 14 13:25:48 2015
@@ -208,6 +208,11 @@
   return [defs removeObjectForKey: [self _getKey: aKey]];
 }
 
+- (void) revertSettings
+{
+  [defs revertSettings];
+}
+
 - (void) setBool: (BOOL)value forKey: (NSString*)aKey
 {
   [defs setBool: value forKey: [self key: aKey]];
@@ -299,6 +304,18 @@
       aKey = [prefix stringByAppendingString: aKey];
     }
   return aKey;
+}
+
+- (void) revertSettings
+{
+  NSDictionary         *old = [self volatileDomainForName: @"EcCommand"];
+
+  if (nil != old)
+    {
+      [self removeVolatileDomainForName: @"EcCommand"];
+      [[NSNotificationCenter defaultCenter] postNotificationName:
+       NSUserDefaultsDidChangeNotification object: self];
+    }
 }
 
 - (BOOL) setCommand: (id)val forKey: (NSString*)key


_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs

Reply via email to