changelog
    
    
    - Tue, 09 Apr 2013 21:59:56 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 09 Apr 2013 21:59:56 +0300] rev 84
 
    - Added move up/down actions.
 
    - Tue, 09 Apr 2013 18:23:07 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 09 Apr 2013 18:23:07 +0300] rev 83
 
    - Added a button to clear a keyboard shortcut.
 
    - Tue, 09 Apr 2013 18:16:01 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 09 Apr 2013 18:16:01 +0300] rev 82
 
    - Touched up the error icon, show the error icon in the set contents dialog if the contents are gibberish.
 
    - Tue, 09 Apr 2013 18:07:57 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 09 Apr 2013 18:07:57 +0300] rev 81
 
    - Added an icon for the exit action - the last one without one! Woo!
 
    - Tue, 09 Apr 2013 17:56:35 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 09 Apr 2013 17:56:35 +0300] rev 80
 
    - Added an icon for the 'about Qt' action. Let's hope Digia doesn't tear me apart for my horrible recreation of the Qt logo. :)
 
    - Tue, 09 Apr 2013 17:41:19 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 09 Apr 2013 17:41:19 +0300] rev 79
 
    - Extracted actions from ForgeWindow into their own files. The ACTION macro now manages meta, instances and callback definitions all in one. Too bad I still need to extern these actions in gui.cpp... maybe someday I'll find a way around it :)
 
    - Tue, 09 Apr 2013 14:06:40 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 09 Apr 2013 14:06:40 +0300] rev 78
 
    - Keyboard shortcuts can now be configured.
 
    - Mon, 08 Apr 2013 19:24:23 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Mon, 08 Apr 2013 19:24:23 +0300] rev 77
 
    - Systemized actions and added (for now no-op) key configurations for them
 
    - Mon, 08 Apr 2013 18:47:31 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Mon, 08 Apr 2013 18:47:31 +0300] rev 76
 
    - Added a New Part dialog
 
    - Mon, 08 Apr 2013 14:57:25 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Mon, 08 Apr 2013 14:57:25 +0300] rev 75
 
    - Don't include non-INVERTNEXT BFC statements in inlined objects.
 
    - Mon, 08 Apr 2013 14:53:58 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Mon, 08 Apr 2013 14:53:58 +0300] rev 74
 
    - LDObject::getIndex was bogus which would cause inlining to crash
 
    - Mon, 08 Apr 2013 14:45:28 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Mon, 08 Apr 2013 14:45:28 +0300] rev 73
 
    - Added support for BFC types
 
    - Wed, 27 Mar 2013 11:24:16 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 27 Mar 2013 11:24:16 +0200] rev 72
 
    - Added LDConfig.ldr parsing. All colors now available as long as LDConfig.ldr is provided.
 
    - Mon, 25 Mar 2013 22:52:53 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Mon, 25 Mar 2013 22:52:53 +0200] rev 71
 
    - Draw main color in the selection dialog based on preferences, take subfiles into account when calculating bbox
 
    - Mon, 25 Mar 2013 17:04:18 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Mon, 25 Mar 2013 17:04:18 +0200] rev 70
 
    - Phased out FOREACH macro in favor of C++11-style for iteration.
 
    - Mon, 25 Mar 2013 16:05:03 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Mon, 25 Mar 2013 16:05:03 +0200] rev 69
 
    - Simplified configuration code. Use a std::vector object to contain config pointers and have config objects register themselves upon creation instead of relying on a cfgdefs.h. Removed sections, all configurations are just simply written one after another now.
 
    - Mon, 25 Mar 2013 15:20:56 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Mon, 25 Mar 2013 15:20:56 +0200] rev 68
 
    - Further fixes to bad color handling. Allow main color be represented with arbitrary transparency.
 
    - Mon, 25 Mar 2013 01:04:20 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Mon, 25 Mar 2013 01:04:20 +0200] rev 67
 
    - 57181.dat (Philo's model of the XL-motor) showcased a new problem.. there was no handling of unknown colors which led into crashes. Added stdout warnings, also added mid and dark stone colors
 
    - Mon, 25 Mar 2013 00:44:11 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Mon, 25 Mar 2013 00:44:11 +0200] rev 66
 
    - Restructured inlining to use a proper caching.. one cache per sub-file reference? What was I thinking? *whacks self with a 55295.dat*
 
    - Sun, 24 Mar 2013 21:45:19 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sun, 24 Mar 2013 21:45:19 +0200] rev 65
 
    - Reverted changes on LDSubfile::getContents, I had a temporary, hackier solution there and forgot to change it back
 
    - Sun, 24 Mar 2013 21:41:24 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sun, 24 Mar 2013 21:41:24 +0200] rev 64
 
    - Considerably improved sub-file inlining. Use a matrix class instead of double[9], educated myself on what matrix multiplication actually is and fixed the algorithm up. Aside from I/O problems, 32551.dat is correctly rendered now.
 
    - Sun, 24 Mar 2013 18:03:33 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sun, 24 Mar 2013 18:03:33 +0200] rev 63
 
    - Implemented the inline action to expose inlining to the user. Also added a `deep inline` action to inline subfile recursively down into polygons and lines only.
 
    - Sun, 24 Mar 2013 01:05:59 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sun, 24 Mar 2013 01:05:59 +0200] rev 62
 
    - Got inlining working. 3002.dat renders properly now! Now just to iron out the bugs and hone the behavior..
 
    - Thu, 21 Mar 2013 18:26:57 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Thu, 21 Mar 2013 18:26:57 +0200] rev 61
 
    - If editing contents of a gibberish object, show the reason for the gibberishness in the dialog. Clamp the bounding box scale to at least 1.0 so that polygons are visible in new files.
 
    - Thu, 21 Mar 2013 16:25:03 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Thu, 21 Mar 2013 16:25:03 +0200] rev 60
 
    - Parsing stability, finally figured that dumb crash
 
    - Thu, 21 Mar 2013 13:00:44 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Thu, 21 Mar 2013 13:00:44 +0200] rev 59
 
    - LDraw still uses inverted y-scale... I always used symmetrical objects for testing so I never noticed I had this wrong.
 
    - Thu, 21 Mar 2013 12:57:06 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Thu, 21 Mar 2013 12:57:06 +0200] rev 58
 
    - Scroll the color picker dialog to the selected color if it's off-screen
 
    - Thu, 21 Mar 2013 03:20:02 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Thu, 21 Mar 2013 03:20:02 +0200] rev 57
 
    - Added polygon bordering function