[windows] Import f74afaf

* 3de14ff 2012-10-01 Initial commit <andrey@tarantsov.com>
* a290463 2012-10-02 Create new project in VS2010 (WPF 3.5) <timofey.vasenin@gmail.com>
* 91c3eb4 2012-10-03 Add Json.NET library (.NET 3.5 SP1 version) <timofey.vasenin@gmail.com>
* 2ded00d 2012-10-04 Add Node.js binary (v0.8.11) <timofey.vasenin@gmail.com>
* 5d640d2 2012-10-04 Add test.js as simple server-side script for node <timofey.vasenin@gmail.com>
* f75c5f5 2012-10-04 Update test.js <timofey.vasenin@gmail.com>
* b167aaa 2012-10-04 update .gitignore <timofey.vasenin@gmail.com>
* aff76c2 2012-10-04 Reference Json.NET library in project <timofey.vasenin@gmail.com>
* 773afd2 2012-10-04 Add some controls to the main window <timofey.vasenin@gmail.com>
* 3ff7e29 2012-10-04 Add initial NodeRPC class and use it for debug <timofey.vasenin@gmail.com>
* fba94cc 2012-10-05 Move NodeRPC logic from MainWindow to App class <timofey.vasenin@gmail.com>
* c294a39 2012-10-05 Add LiveReload icon to app resources <timofey.vasenin@gmail.com>
* f87eeba 2012-10-05 Add notification icon to toggle main window <timofey.vasenin@gmail.com>
* 714457a 2012-10-05 Add LiveReload icon for main window <timofey.vasenin@gmail.com>
* 4246782 2012-10-07 Add tray context menu <timofey.vasenin@gmail.com>
* 0792891 2012-10-07 Don't exit application when main window is closed <timofey.vasenin@gmail.com>
* b6b5fc7 2012-10-07 Move window hide/show actions to the App class <timofey.vasenin@gmail.com>
* 0231ded 2012-10-07 Hide main window instead of closing <timofey.vasenin@gmail.com>
* 0663481 2012-10-07 Basic TreeView for projects <timofey.vasenin@gmail.com>
* 3005775 2012-10-08 Hui <timofey.vasenin@gmail.com>
* b500e78 2012-10-08 Revert "Hui" <andrey@tarantsov.com>
* b853d6d 2012-10-09 Move source files to ./src <timofey.vasenin@gmail.com>
* 93b9502 2012-10-09 Update .gitignore <timofey.vasenin@gmail.com>
* 8f9c4e8 2012-10-09 Add fastJSON library (v2.0.7) <timofey.vasenin@gmail.com>
* 83c8778 2012-10-09 Change fastJSON target framework <timofey.vasenin@gmail.com>
* 4a905fe 2012-10-09 Change LiveReload target framework <timofey.vasenin@gmail.com>
* e6494a7 2012-10-09 Add fastJSON project and reference it in LR <timofey.vasenin@gmail.com>
* a3650c2 2012-10-09 Switch from Json.NET to fastJSON <timofey.vasenin@gmail.com>
* 978d9a5 2012-10-09 Remove Json.net from ./lib <timofey.vasenin@gmail.com>
* f99e356 2012-10-09 Basic selection handling in TreeView <timofey.vasenin@gmail.com>
* d247546 2012-10-09 Ability to add and remove projects <timofey.vasenin@gmail.com>
* edee647 2012-10-09 Set application icon <timofey.vasenin@gmail.com>
* d83ccc5 2012-10-10 Rename node.exe to LiveReloadNodejs.exe <timofey.vasenin@gmail.com>
* 3c0d715 2012-10-10 Do not use absolute path to tray icon <timofey.vasenin@gmail.com>
* ec78033 2012-10-10 Disable GUI controls that don't work yet <timofey.vasenin@gmail.com>
* 7bab22f 2012-10-10 Move node one level up in ./res <timofey.vasenin@gmail.com>
* ddff123 2012-10-10 Change target framework back to v4.0 <timofey.vasenin@gmail.com>
* 3728486 2012-10-10 Better detection of base directory <timofey.vasenin@gmail.com>
* 3fdadd5 2012-10-10 Move and rename test.js <timofey.vasenin@gmail.com>
* bec7ae9 2012-10-10 Simplify and rename one of events <timofey.vasenin@gmail.com>
* 55b06d1 2012-10-10 Move baseDir detection from NodeRPC to App <timofey.vasenin@gmail.com>
* 71cc47e 2012-10-10 Use 'Message' instead of 'Line' in method names <timofey.vasenin@gmail.com>
* 09a1af2 2012-10-10 Implement NodeStartedEvent <timofey.vasenin@gmail.com>
* 0ab654c 2012-10-10 Workaround for XP Unicode issues <timofey.vasenin@gmail.com>
* a46d5d7 2012-10-10 Change MainWindow title to "LiveReload" <timofey.vasenin@gmail.com>
* b299200 2012-10-10 Cleanup <timofey.vasenin@gmail.com>
* ceb768c 2012-10-10 Launch livereload.js with parameters <timofey.vasenin@gmail.com>
* 4e501b2 2012-10-10 Fix baseDir detection <timofey.vasenin@gmail.com>
* dae3126 2012-10-10 Filter non-messages from node output <timofey.vasenin@gmail.com>
* 9a1e1e4 2012-10-10 Temporarily disable ./backend content <timofey.vasenin@gmail.com>
* 4b88465 2012-10-10 Proper path joining <timofey.vasenin@gmail.com>
* 2758ea3 2012-10-12 Start node thread from App instead of NodeRPC <timofey.vasenin@gmail.com>
* 8572a48 2012-10-12 Make private things private <timofey.vasenin@gmail.com>
* 17062ae 2012-10-13 Add MahApps.Metro lib to the project <timofey.vasenin@gmail.com>
* 2fbf3c8 2012-10-13 Use MahApps.Metro in MainWindow styling <timofey.vasenin@gmail.com>
* 71737e5 2012-10-13 Change UI layout to adopt to new style <timofey.vasenin@gmail.com>
* ccb7323 2012-10-13 Cosmetics <timofey.vasenin@gmail.com>
* 13a26a5 2012-10-13 Move obtaining of selected index into new method <timofey.vasenin@gmail.com>
* f084d35 2012-10-14 Implement "compile" checkbox behavior <timofey.vasenin@gmail.com>
* 32687eb 2012-10-14 More layout <timofey.vasenin@gmail.com>
* fd831c9 2012-10-15 Hide non-working and debug components <timofey.vasenin@gmail.com>
* 512720d 2012-10-15 Fix value type in ProjectPropertyChangedEvent <timofey.vasenin@gmail.com>
* ab22e59 2012-10-15 Uncheck boxes when no item is selected <timofey.vasenin@gmail.com>
* 2aed56f 2012-10-15 Handle compilationEnabled property in ProjectData <timofey.vasenin@gmail.com>
* fa8ba4e 2012-10-16 Preserve selection of tree items across actions <timofey.vasenin@gmail.com>
* 7a93004 2012-10-16 Show version in window commands area <timofey.vasenin@gmail.com>
* 82bfa3a 2012-10-16 Change version to 0.5.0.0 <timofey.vasenin@gmail.com>
* 3222085 2012-10-17 Send detected version of GUI to node <timofey.vasenin@gmail.com>
* ac3a0dc 2012-10-17 Hide main window via event only <timofey.vasenin@gmail.com>
* 8398e7a 2012-10-17 Exit app when closing main window <timofey.vasenin@gmail.com>
* 31033fb 2012-10-17 Use Path.Combine in App <timofey.vasenin@gmail.com>
* eb9247b 2012-10-17 Extract paths into fields <timofey.vasenin@gmail.com>
* 93c2658 2012-10-17 Log Node's output and system info <timofey.vasenin@gmail.com>
* 78cea69 2012-10-17 Quit on Node crash <timofey.vasenin@gmail.com>
* 617d8dd 2012-10-17 Raise NodeStarted event from proper thread <timofey.vasenin@gmail.com>
* 3e113c1 2012-10-17 Change app paths <timofey.vasenin@gmail.com>
* c34236e 2012-10-17 Create appDataDir <timofey.vasenin@gmail.com>
* 1e70d15 2012-10-17 Trailing space fixes <timofey.vasenin@gmail.com>
* df0cbf9 2012-10-17 Correct tray icon dispose on exit <timofey.vasenin@gmail.com>
* 45cf785 2012-10-17 Show log and open report URL on node crash <timofey.vasenin@gmail.com>
* b5e507f 2012-10-16 Set DEBUG env var <andrey@tarantsov.com>
* 1c53f68 2012-10-17 Log outgoing messages to Node <timofey.vasenin@gmail.com>
* 57497b8 2012-10-17 Change some debug console writes <timofey.vasenin@gmail.com>
* f154929 2012-10-17 Reveal log at click on version in window commands <timofey.vasenin@gmail.com>
* d063834 2012-10-17 Add icons.xaml and reference it <timofey.vasenin@gmail.com>
* c274400 2012-10-17 Use MetroCircleButton style for add/del buttons <timofey.vasenin@gmail.com>
* 10f5731 2012-10-17 Revert "Exit app when closing main window" <timofey.vasenin@gmail.com>
* 7323f18 2012-10-17 Revert "Revert "Exit app when closing main window"" <timofey.vasenin@gmail.com>
* 87a79d6 2012-10-17 Quote filename in arguments passed to Node <timofey.vasenin@gmail.com>
* b58e0e1 2012-10-17 Don't set Name field for TreeViewItem <timofey.vasenin@gmail.com>
* 08e0567 2012-10-17 Revert "Exit app when closing main window" <timofey.vasenin@gmail.com>
* 1c6487b 2012-10-20 Log and report unhandled exceptions <andrey@tarantsov.com>
* 35935a9 2012-10-20 Add .gitattributes <timofey.vasenin@gmail.com>
* 4e5c823 2012-10-20 Dumb tab changes in .sln <andrey@tarantsov.com>
* a51f8ed 2012-10-20 Move fastJSON one level up <timofey.vasenin@gmail.com>
* b385933 2012-10-20 Uptate fastJSON to v2.0.8 <timofey.vasenin@gmail.com>
* 93cb228 2012-10-20 Ignore publish folder <timofey.vasenin@gmail.com>
* e749dab 2012-10-21 Bundle the backend as .7z, extract on first run <andrey@tarantsov.com>
* 5d3f777 2012-10-21 Version bump to 0.5.1 <andrey@tarantsov.com>
* 9e69370 2012-10-21 Configure ClickOnce publishing <andrey@tarantsov.com>
* 11e9807 2012-10-21 Set ClickOnce version to 0.5.1 <andrey@tarantsov.com>
* 3b276ce 2012-10-21 Ignore /publish <andrey@tarantsov.com>
* 0f6fc8e 2012-10-22 Bundle Ruby 1.9.3 <andrey@tarantsov.com>
* fe6b98c 2012-10-22 Stop the madness -- repackage Ruby by hand <andrey@tarantsov.com>
* e299a3d 2012-10-22 Use bundled 7za.exe for packing backend <timofey.vasenin@gmail.com>
* 5b3d007 2012-10-22 Revert "Ignore /publish" <timofey.vasenin@gmail.com>
* 75198f2 2012-10-22 Add curl and use it for bundling ruby <timofey.vasenin@gmail.com>
* c4f391b 2012-10-22 Realign Add/Remove buttons <timofey.vasenin@gmail.com>
* bfa5dd6 2012-10-22 Tooltip for 'version' Window Command <timofey.vasenin@gmail.com>
* 282d540 2012-10-22 Minimize -> to tray; Close -> exit <timofey.vasenin@gmail.com>
* c789add 2012-10-22 Bundle the backend without going through npm <andrey@tarantsov.com>
* 804bbf9 2012-10-22 Accomodate backend version bump to 0.6.0 <andrey@tarantsov.com>
* cbf5d1a 2012-10-22 Ignore *.tgz downloaded by the bundling script <andrey@tarantsov.com>
* bbe29f3 2012-10-22 Implement app.displayCriticalError <andrey@tarantsov.com>
* 76b3fa9 2012-10-23 Add hidden semi-transparent progress grid <timofey.vasenin@gmail.com>
* 2c469da 2012-10-23 Extract Node init code into separate method <timofey.vasenin@gmail.com>
* 2be4e3d 2012-10-23 Async resources extraction <timofey.vasenin@gmail.com>
* 0f5f7ae 2012-10-23 Use progress indicator when unpacking <timofey.vasenin@gmail.com>
* 9b1f341 2012-10-23 Do not pass app dispatcher to NodeRPC <timofey.vasenin@gmail.com>
* 6172278 2012-10-23 Strip backend bundle <timofey.vasenin@gmail.com>
* ef6e251 2012-10-23 Slim versions of 7zip <timofey.vasenin@gmail.com>
* 3d86250 2012-10-23 Bunble Node.js v0.8.12 <timofey.vasenin@gmail.com>
* dc65cd6 2012-10-23 Get bundledBackendDir from extractor <timofey.vasenin@gmail.com>
* 0818936 2012-10-23 Better console debug output <timofey.vasenin@gmail.com>
* e07567e 2012-10-23 Get selected project instead of selected index <timofey.vasenin@gmail.com>
* 45d3b07 2012-10-24 Change path to LR icon to exclude assembly name <timofey.vasenin@gmail.com>
* 4f88467 2012-10-23 Add S3Sync for publishing scripts <andrey@tarantsov.com>
* 8fa7ec8 2012-10-23 Add ClickOnce publishing scripts <andrey@tarantsov.com>
* 3e81506 2012-10-23 Version bump to 0.6.0.0 <andrey@tarantsov.com>
* c6eba96 2012-10-24 Shorter SelectedProject() <timofey.vasenin@gmail.com>
* 22dcb21 2012-10-24 Update ProjectData model <timofey.vasenin@gmail.com>
* c39386e 2012-10-24 Rename Url/Snippet textboxes and add watermarks <timofey.vasenin@gmail.com>
* 9f87223 2012-10-24 Restore selection after treeView update <timofey.vasenin@gmail.com>
* 23d5f16 2012-10-24 Interaction with URL and Snippet text boxes <timofey.vasenin@gmail.com>
* 4cf1a4c 2012-10-24 Fix update of TreeView <timofey.vasenin@gmail.com>
* 8cb8758 2012-10-24 Change watermark for URL text box <timofey.vasenin@gmail.com>
* 2ea2b4d 2012-10-24 Handle 'status' message from node <timofey.vasenin@gmail.com>
* 100e06e 2012-10-24 Add support button <timofey.vasenin@gmail.com>
* 85fa138 2012-10-24 Change some public fields to private <timofey.vasenin@gmail.com>
* 80af275 2012-10-24 Cosmetics <timofey.vasenin@gmail.com>
* 2a0555e 2012-10-24 Make LR single instance application <timofey.vasenin@gmail.com>
* 9269d35 2012-10-26 Move build and publish tools to tools/ folder <timofey.vasenin@gmail.com>
* 52ab4a1 2012-10-26 Update readme <timofey.vasenin@gmail.com>
* 7af5fb7 2012-10-26 Structured layout of main window <timofey.vasenin@gmail.com>
* 6b2b282 2012-10-27 Update fastJSON to v2.0.9 <timofey.vasenin@gmail.com>
* 3a5b7dc 2012-10-28 Add -LRBackendOverride cmdline arg <andrey@tarantsov.com>
* 213cc35 2012-10-29 Add a dummy Output Paths tree <andrey@tarantsov.com>
* 7a5c68b 2012-10-29 Initial ObjectRPC impl with TextBlock support <andrey@tarantsov.com>
* fd9637b 2012-10-29 Delete "status" command <andrey@tarantsov.com>
* f715207 2012-10-30 Drop folders to projects tree <timofey.vasenin@gmail.com>
* 2650668 2012-10-31 Initial tab layout <timofey.vasenin@gmail.com>
* 44e8813 2012-10-30 Restart overridden backend on version number click <andrey@tarantsov.com>
* edc2120 2012-10-31 Cosmetics in ObjectRPC <timofey.vasenin@gmail.com>
* 3836c1d 2012-10-31 Add dummy 'Set output folder...' button <timofey.vasenin@gmail.com>
* a166c90 2012-10-31 Change project remove icon <timofey.vasenin@gmail.com>
* b973360 2012-10-30 Fix: Tray icons galore when restarting the backend <andrey@tarantsov.com>
* 4a223ad 2012-10-30 With LRBackendOverride, restart the backend when it crashes <andrey@tarantsov.com>
* 02a73cc 2012-10-31 Do not overlap status text with path button <timofey.vasenin@gmail.com>
* 4c536cd 2012-10-30 Fix: Facet creation bug <andrey@tarantsov.com>
* 93aea2a 2012-10-30 Send selected project ID to Node <andrey@tarantsov.com>
* 838867f 2012-10-30 Add a simple TreeViewFacet <andrey@tarantsov.com>
* f672614 2012-10-30 Use UTF8 to communicate with Node <andrey@tarantsov.com>
* e1d653f 2012-10-31 ObjectRPC: !method calls and event routing <andrey@tarantsov.com>
* 7db2c15 2012-10-31 Add #mainwnd !chooseOutputFolder <andrey@tarantsov.com>
* 9d6c03d 2012-10-31 Add ButtonFacet <andrey@tarantsov.com>
* 48eade0 2012-10-31 Store TreeViewItem id in Tag <andrey@tarantsov.com>
* b13eca6 2012-10-31 Backend version bump to v0.7.0 <timofey.vasenin@gmail.com>
* bfd9107 2012-10-31 Minor optimization in bundle building <timofey.vasenin@gmail.com>
* 4b5f492 2012-10-31 Disable debug output to console <timofey.vasenin@gmail.com>
* d64db0e 2012-10-31 Notify Node about selection changes <timofey.vasenin@gmail.com>
* b950b1d 2012-10-31 Add tooltips for Add/Remove buttons <timofey.vasenin@gmail.com>
* 17bcb62 2012-10-31 Fix idents in MainWindow.xaml <timofey.vasenin@gmail.com>
* c6754b0 2012-10-31 Hide tabs when no project is selected <timofey.vasenin@gmail.com>
* 5837486 2012-10-31 Version bump to 0.7.0 <andrey@tarantsov.com>
* beea871 2012-11-01 Use backend 0.7.1 <andrey@tarantsov.com>
* da1e5af 2012-11-01 Delete one-shot pub scripts (too dangerous) <andrey@tarantsov.com>
* 3f0929b 2012-11-01 Move manifest uploading to PubXxxCommit.cmd <andrey@tarantsov.com>
* 34c15ca 2012-11-01 Version bump to 0.7.1 <andrey@tarantsov.com>
* b833387 2012-11-04 CheckBox and TextBox facets <timofey.vasenin@gmail.com>
* a5b6e27 2012-11-04 Use buttonRunCustom for debug <timofey.vasenin@gmail.com>
* 24154da 2012-11-04 Implement UIElement facet <timofey.vasenin@gmail.com>
* cf435fe 2012-11-04 Smart TextBox update in facet <timofey.vasenin@gmail.com>
* 874b9f1 2012-11-04 Typo <timofey.vasenin@gmail.com>
* ec2a24d 2012-11-04 Enable logging from all modules <andrey@tarantsov.com>
* 836669a 2012-11-04 KILL ALL HUMANS ZZZZZOORG T__T <andrey@tarantsov.com>
* 2c1e503 2012-11-05 Fuck you, GitHub for Windows <andrey@tarantsov.com>
* 777453c 2012-11-05 Hide unused button <timofey.vasenin@gmail.com>
* a61d6ec 2012-11-04 Right-click on version brings debug context menu <timofey.vasenin@gmail.com>
* 7ce7459 2012-11-05 Cute alien bug icon <timofey.vasenin@gmail.com>
* 9b374e4 2012-11-05 Handle multi-level trees in TreeViewFacet <andrey@tarantsov.com>
* 46575c6 2012-11-05 Update MahApps.Metro to v0.10.0.0 <timofey.vasenin@gmail.com>
* 03dac20 2012-11-05 Add attached property SelectTextOnFocus <timofey.vasenin@gmail.com>
* 63c2a3e 2012-11-05 Minor visual tweak of Add/Remove buttons <timofey.vasenin@gmail.com>
* 1d3d5ee 2012-11-05 Increase height of snippet textbox <timofey.vasenin@gmail.com>
* 67b0298 2012-11-06 Very initial WhatsNew <timofey.vasenin@gmail.com>
* 16a591b 2012-11-07 WhatsNew treaks <timofey.vasenin@gmail.com>
* cd1162c 2012-11-14 Cosmetics <timofey.vasenin@gmail.com>
* 1714066 2012-11-14 Initial EditableTextBlock <timofey.vasenin@gmail.com>
* 2d7adf6 2012-11-14 Initial editable TreeViewItems <timofey.vasenin@gmail.com>
* 484222a 2012-11-14 Use backend v0.8.0 <timofey.vasenin@gmail.com>
* 55dd8b7 2012-11-14 Make item edit mode a property <timofey.vasenin@gmail.com>
* 5a55ba2 2012-11-21 Add/Remove Rule buttons <timofey.vasenin@gmail.com>
* f55881d 2012-11-22 Preserve current editing block across tree update <timofey.vasenin@gmail.com>
* 75d4498 2012-11-22 Dictionary<string, object> -> D <timofey.vasenin@gmail.com>
* b0a0231 2012-11-27 Save simulated message and invoke it by F3 <timofey.vasenin@gmail.com>
* e4d8b69 2012-12-01 Initial Update button <timofey.vasenin@gmail.com>
* 770c45d 2012-12-01 Script for building 'update test' version <timofey.vasenin@gmail.com>
* 154d2d8 2012-12-01 Version bump to 0.8.0 <timofey.vasenin@gmail.com>
* 9be3c7a 2012-12-01 Default ZIndex for update button <timofey.vasenin@gmail.com>
* f74afaf 2012-12-01 Make logwriter thread-safe <timofey.vasenin@gmail.com>