changelog
    
    
    - Mon, 19 Mar 2018 11:04:18 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Mon, 19 Mar 2018 11:04:18 +0200] rev 1304
 
    - added more comments
 
    - Mon, 19 Mar 2018 10:59:58 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Mon, 19 Mar 2018 10:59:58 +0200] rev 1303
 
    - reworked invert()
 
    - Mon, 19 Mar 2018 10:57:19 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Mon, 19 Mar 2018 10:57:19 +0200] rev 1302
 
    - added license headers
 
    - Mon, 19 Mar 2018 10:57:13 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Mon, 19 Mar 2018 10:57:13 +0200] rev 1301
 
    - moved inverting code into a new file
 
    - Sun, 18 Mar 2018 23:31:15 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 18 Mar 2018 23:31:15 +0200] rev 1300
 
    - added comment editing
 
    - Sun, 18 Mar 2018 12:37:40 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 18 Mar 2018 12:37:40 +0200] rev 1299
 
    - fixed color handling
 
    - Sun, 18 Mar 2018 12:33:29 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 18 Mar 2018 12:33:29 +0200] rev 1298
 
    - fixed infinite recursion and integrated the subfilereference editor
 
    - Sun, 18 Mar 2018 12:00:39 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 18 Mar 2018 12:00:39 +0200] rev 1297
 
    - added subfile reference editor
 
    - Sat, 17 Mar 2018 23:59:15 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 17 Mar 2018 23:59:15 +0200] rev 1296
 
    - Added vertex object editing dialog
 
    - Sat, 17 Mar 2018 20:47:35 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 17 Mar 2018 20:47:35 +0200] rev 1295
 
    - the header is now also saved
 
    - Sat, 17 Mar 2018 12:29:52 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 17 Mar 2018 12:29:52 +0200] rev 1294
 
    - Added a new tool for clamping vertices
 
    - Sat, 17 Mar 2018 11:35:07 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 17 Mar 2018 11:35:07 +0200] rev 1293
 
    - removed the old Add History Line tool
 
    - Sat, 17 Mar 2018 11:33:05 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 17 Mar 2018 11:33:05 +0200] rev 1292
 
    - Part history can now be edited
 
    - Fri, 16 Mar 2018 16:28:39 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 16 Mar 2018 16:28:39 +0200] rev 1291
 
    - Added basic header editing
 
    - Fri, 16 Mar 2018 12:20:16 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 16 Mar 2018 12:20:16 +0200] rev 1290
 
    - Fixed crashing
 
    - Fri, 16 Mar 2018 11:55:58 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 16 Mar 2018 11:55:58 +0200] rev 1289
 
    - add comments
 
    - Fri, 16 Mar 2018 11:50:35 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 16 Mar 2018 11:50:35 +0200] rev 1288
 
    - Header parsing complete, moved all parsing code into a new class. Documents are now all loaded in one go.
 
    - Thu, 15 Mar 2018 18:51:58 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Thu, 15 Mar 2018 18:51:58 +0200] rev 1287
 
    - begin work on document loading rework
 
    - Thu, 15 Mar 2018 11:31:39 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Thu, 15 Mar 2018 11:31:39 +0200] rev 1286
 
    - added a document header structure
 
    - Thu, 15 Mar 2018 10:46:46 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Thu, 15 Mar 2018 10:46:46 +0200] rev 1285
 
    - added signal emissions
 
    - Wed, 14 Mar 2018 12:18:52 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Wed, 14 Mar 2018 12:18:52 +0200] rev 1284
 
    - moved emit calls
 
    - Wed, 14 Mar 2018 12:08:03 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Wed, 14 Mar 2018 12:08:03 +0200] rev 1283
 
    - added an MVC interface to the primitives tree
 
    - Sun, 11 Mar 2018 23:42:03 +0200
 
    - by Santeri Piippo [Sun, 11 Mar 2018 23:42:03 +0200] rev 1282
 
    - fixed removing objects causing some other objects to disappear
 
    - Sun, 11 Mar 2018 16:13:32 +0200
 
    - by Santeri Piippo [Sun, 11 Mar 2018 16:13:32 +0200] rev 1281
 
    - optimized triangle count
 
    - Sun, 11 Mar 2018 16:13:22 +0200
 
    - by Santeri Piippo [Sun, 11 Mar 2018 16:13:22 +0200] rev 1280
 
    - fixed: LDDocument created one removal connection to the model for each object added, so removing an object from a model of 9 objects added 9 deletion entries to history
 
    - Thu, 08 Mar 2018 11:39:18 +0200
 
    - by Santeri Piippo [Thu, 08 Mar 2018 11:39:18 +0200] rev 1279
 
    - renamed signal
 
    - Thu, 08 Mar 2018 11:36:55 +0200
 
    - by Santeri Piippo [Thu, 08 Mar 2018 11:36:55 +0200] rev 1278
 
    - moved LDObject indices from a global array into Model
 
    - Wed, 07 Mar 2018 19:32:05 +0200
 
    - by Santeri Piippo [Wed, 07 Mar 2018 19:32:05 +0200] rev 1277
 
    - removed unused code
 
    - Wed, 07 Mar 2018 19:30:29 +0200
 
    - by Santeri Piippo [Wed, 07 Mar 2018 19:30:29 +0200] rev 1276
 
    - fixed object deleting not triggering the proper renderer updates
 
    - Wed, 07 Mar 2018 19:30:03 +0200
 
    - by Santeri Piippo [Wed, 07 Mar 2018 19:30:03 +0200] rev 1275
 
    - fixed DelHistoryEntries getting ignored...
 
    - Wed, 07 Mar 2018 12:04:06 +0200
 
    - by Santeri Piippo [Wed, 07 Mar 2018 12:04:06 +0200] rev 1274
 
    - removed some debug code
 
    - Tue, 06 Mar 2018 23:29:40 +0200
 
    - by Santeri Piippo [Tue, 06 Mar 2018 23:29:40 +0200] rev 1273
 
    - Implemented row moving in the model and replaced swapping with it
 
    - Mon, 05 Mar 2018 23:59:47 +0200
 
    - by Santeri Piippo [Mon, 05 Mar 2018 23:59:47 +0200] rev 1272
 
    - migrated model swapping to mvc and made Model::swapObjects to emit dataChanged signals as a temporary solution
 
    - Mon, 05 Mar 2018 22:44:48 +0200
 
    - by Santeri Piippo [Mon, 05 Mar 2018 22:44:48 +0200] rev 1271
 
    - removed some unneeded headers
 
    - Mon, 05 Mar 2018 22:42:54 +0200
 
    - by Santeri Piippo [Mon, 05 Mar 2018 22:42:54 +0200] rev 1270
 
    - Finally removed the cancer that is the LDObject::model pointer
 
    - Mon, 05 Mar 2018 22:40:34 +0200
 
    - by Santeri Piippo [Mon, 05 Mar 2018 22:40:34 +0200] rev 1269
 
    - Added LDObject serialization and refactored the internal resource managing to use it. No more tearing objects from one model into another, and this provides a stable way to keep an object's state in memory such as the edit history.
 
    - Sat, 03 Mar 2018 17:59:56 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 17:59:56 +0200] rev 1268
 
    - fix warning
 
    - Sat, 03 Mar 2018 17:59:32 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 17:59:32 +0200] rev 1267
 
    - removed another LDObject::model() use
 
    - Sat, 03 Mar 2018 17:57:35 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 17:57:35 +0200] rev 1266
 
    - removed LDError::fileReferenced
 
    - Sat, 03 Mar 2018 17:56:49 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 17:56:49 +0200] rev 1265
 
    - reimplemented detection of broken references in PartDownloadRequest::downloadFinished
 
    - Sat, 03 Mar 2018 17:52:40 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 17:52:40 +0200] rev 1264
 
    - reimplemented finding of broken document references
 
    - Sat, 03 Mar 2018 17:47:40 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 17:47:40 +0200] rev 1263
 
    - LDSubfileReference now contains the name of the subfile and not a pointer anymore. Some methods now require a DocumentManager* for context on resolving the name.
 
    - Sat, 03 Mar 2018 17:28:27 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 17:28:27 +0200] rev 1262
 
    - removed use of model() in LDSubfileReference::inlineContents
 
    - Sat, 03 Mar 2018 17:25:12 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 17:25:12 +0200] rev 1261
 
    - Removed LDObject::invert, inversion code moved to basic toolset
 
    - Sat, 03 Mar 2018 16:59:03 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 16:59:03 +0200] rev 1260
 
    - removed LDObject::swap
 
    - Sat, 03 Mar 2018 16:56:49 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 16:56:49 +0200] rev 1259
 
    - moved LDObject::next to the algorithm toolset
 
    - Sat, 03 Mar 2018 16:53:56 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 16:53:56 +0200] rev 1258
 
    - removed LDObject::lineNumber
 
    - Sat, 03 Mar 2018 15:14:07 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 15:14:07 +0200] rev 1257
 
    - more selection rework
 
    - Fri, 02 Mar 2018 22:23:53 +0200
 
    - by Santeri Piippo [Fri, 02 Mar 2018 22:23:53 +0200] rev 1256
 
    - removed LDDocument::clearSelection and replaced it with a MainWindow implementation
 
    - Thu, 11 Jan 2018 22:22:45 +0200
 
    - by Santeri Piippo [Thu, 11 Jan 2018 22:22:45 +0200] rev 1255
 
    - things #2
 
    - Thu, 11 Jan 2018 22:21:50 +0200
 
    - by Santeri Piippo [Thu, 11 Jan 2018 22:21:50 +0200] rev 1254
 
    - things
 
    - Thu, 11 Jan 2018 16:46:22 +0200
 
    - by Santeri Piippo [Thu, 11 Jan 2018 16:46:22 +0200] rev 1253
 
    - add operators to LDDocument
 
    - Thu, 01 Mar 2018 11:59:54 +0200
 
    - by Santeri Piippo [Thu, 01 Mar 2018 11:59:54 +0200] rev 1252
 
    - refactor
 
    - Thu, 22 Feb 2018 11:41:58 +0200
 
    - by Santeri Piippo [Thu, 22 Feb 2018 11:41:58 +0200] rev 1251
 
    - Converted magic wand mode and other selection stuff to mvc
 
    - Thu, 15 Feb 2018 14:59:04 +0200
 
    - by Santeri Piippo [Thu, 15 Feb 2018 14:59:04 +0200] rev 1250
 
    - more work on mvc
 
    - Thu, 15 Feb 2018 14:40:59 +0200
 
    - by Santeri Piippo [Thu, 15 Feb 2018 14:40:59 +0200] rev 1249
 
    - convert MainWindow::deleteSelection to mvc
 
    - Thu, 15 Feb 2018 12:19:10 +0200
 
    - by Santeri Piippo [Thu, 15 Feb 2018 12:19:10 +0200] rev 1248
 
    - made lighting more subtle
 
    - Thu, 15 Feb 2018 12:18:57 +0200
 
    - by Santeri Piippo [Thu, 15 Feb 2018 12:18:57 +0200] rev 1247
 
    - converted highlighting to mvc
 
    - Thu, 15 Feb 2018 11:34:04 +0200
 
    - by Santeri Piippo [Thu, 15 Feb 2018 11:34:04 +0200] rev 1246
 
    - used mvc selection models
 
    - Thu, 15 Feb 2018 10:24:39 +0200
 
    - by Santeri Piippo [Thu, 15 Feb 2018 10:24:39 +0200] rev 1245
 
    - more work on mvc
 
    - Wed, 14 Feb 2018 15:17:30 +0200
 
    - by Santeri Piippo [Wed, 14 Feb 2018 15:17:30 +0200] rev 1244
 
    - begin model rework
 
    - Tue, 13 Feb 2018 15:43:55 +0200
 
    - by Santeri Piippo [Tue, 13 Feb 2018 15:43:55 +0200] rev 1243
 
    - removed unneeded stuff
 
    - Tue, 13 Feb 2018 14:56:08 +0200
 
    - by Santeri Piippo [Tue, 13 Feb 2018 14:56:08 +0200] rev 1242
 
    - Removed LDConditionalEdge::becomeEdgeLine
 
    - Tue, 13 Feb 2018 14:22:10 +0200
 
    - by Santeri Piippo [Tue, 13 Feb 2018 14:22:10 +0200] rev 1241
 
    - hook up dataChanged