diff mde/setup/Init.d @ 115:1b1e2297e2fc

Enums handled more generically now via either a popup list or flat list of BoolContentWidgets. EnumContent is an IContentList with BoolContent sub-contents. Content modules moved around (again). ContentListWidget can now list horizontally. Log-level setting callback.
author Diggory Hardy <diggory.hardy@gmail.com>
date Sat, 20 Dec 2008 17:57:05 +0000
parents 42e241e7be3e
children 3328c6fb77ca
line wrap: on
line diff
--- a/mde/setup/Init.d	Fri Dec 19 15:15:06 2008 +0000
+++ b/mde/setup/Init.d	Sat Dec 20 17:57:05 2008 +0000
@@ -151,8 +151,9 @@
             root = Log.root;
 	    root.clear;			// we may no longer want to log to the console
 	    
-            // Now re-set the logging level, using the value from the config file:
-            root.level (miscOpts.logOutput() == 0 ? Level.None : cast(Level) miscOpts.logLevel(), true);
+            // Now re-set the logging level and add callback to set on change:
+            setLogLevel ();
+            miscOpts.logLevel.addCallback (&setLogLevel);
             
             if (miscOpts.logOutput() & 2) {     // first appender so root seperator messages don't show on console
                 // Use 2 log files with a maximum size of 16kiB:
@@ -386,6 +387,11 @@
     private static {
         Logger logger;
         
+        // Callback on miscOpts.logLevel
+        void setLogLevel (Content = null) {
+            Log.root.level (miscOpts.logOutput() == 0 ? Level.None : cast(Level) miscOpts.logLevel(), true);
+        }
+        
         void printUsage (char[] progName) {
             Cout ("mde [no version]").newline;
             Cout ("Usage:").newline;