# HG changeset patch # User Diggory Hardy # Date 1239379795 -7200 # Node ID 2934fcacbb97be29ed124d3faea084a5e4931880 # Parent c67d074a711118bcd67dcc55e126975d6efd516a Fixed a bug preventing log messages from being displayed. Added a Help->About menu (logs copyright info). diff -r c67d074a7111 -r 2934fcacbb97 codeDoc/jobs.txt --- a/codeDoc/jobs.txt Fri Apr 10 15:19:46 2009 +0200 +++ b/codeDoc/jobs.txt Fri Apr 10 18:09:55 2009 +0200 @@ -8,7 +8,9 @@ To do (importance 0-5: 0 pointless, 1 no obvious impact now, 2 todo sometime, 3 useful, 4 important, 5 urgent): Also search for FIXME/NOTE/BUG/WARNING comment marks. +4 Entering a hashmap tag like {0:"x","y"} causes an infinite loop. 4 Revise widgets/functions available: remove TextLabel, add VoidContent creation +3 GUI: up-clicks get passed as events and activate objects 3 Too many redraws: mouse-over causes them 3 Glyph 's' drawn incorrectly in release mode - ?? 3 Widget saving: how to deal with modifier functions, esp. when they discard parameters? Remove feature except for dimdata and handle gui editing separately? diff -r c67d074a7111 -r 2934fcacbb97 data/L10n/en-GB.mtt --- a/data/L10n/en-GB.mtt Fri Apr 10 15:19:46 2009 +0200 +++ b/data/L10n/en-GB.mtt Fri Apr 10 18:09:55 2009 +0200 @@ -5,6 +5,8 @@ + + {Font} diff -r c67d074a7111 -r 2934fcacbb97 mde/menus.d --- a/mde/menus.d Fri Apr 10 15:19:46 2009 +0200 +++ b/mde/menus.d Fri Apr 10 18:09:55 2009 +0200 @@ -22,13 +22,11 @@ import mde.content.miscContent; import mde.imde; -debug { import tango.util.log.Log : Log, Logger; private Logger logger; static this () { logger = Log.getLogger ("mde.menus"); } -} static this () { auto quit = new EventContent("menus.main.quit"); @@ -36,4 +34,12 @@ debug logger.trace ("Quit (from menu)"); run = false; }); + + auto about = new EventContent("menus.help.about"); + about.addCallback ((Content){ + //TODO: popup dialog box + logger.info ("MDE Copyright (C) 2007-2009 Diggory Hardy"); + logger.info ("This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING."); + logger.info ("This is free software, and you are welcome to redistribute it under certain conditions; see COPYING for details."); + }); } diff -r c67d074a7111 -r 2934fcacbb97 mde/setup/Init.d --- a/mde/setup/Init.d Fri Apr 10 15:19:46 2009 +0200 +++ b/mde/setup/Init.d Fri Apr 10 18:09:55 2009 +0200 @@ -170,7 +170,6 @@ } if (!(logOutput() & 1)) root.add(new AppendConsole); - logger.info ("Starting mde [no version] on " ~ TimeStamp.toString(WallClock.now)); } catch (Exception e) { // Presumably it was only adding a file appender which failed; set up a new console // logger and if that fails let the exception kill the program. @@ -178,7 +177,10 @@ root.add (new AppendConsole); logger.error ("Exception while setting up the logger; logging to the console instead."); } - + + // Done enough init to know where and when to log messages now + logger.info ("Starting mde [no version] on " ~ TimeStamp.toString(WallClock.now)); + // a debugging option: imde.run = imde.run && !exitImmediately(); debug logger.trace ("Init: applied pre-init options"); @@ -411,7 +413,7 @@ Log.root.level (Level.Trace); logger.trace ("Setting logging level {}", logLevel()); } - Log.root.level (logOutput() == 0 ? Level.None : cast(Level) logLevel(), true); + Log.root.level (logOutput() == 3 ? Level.None : cast(Level) logLevel(), true); } void printUsage (char[] progName) {