Lorris - GUI tool for robotics (at least until I think of something which suits more)
             https://github.com/Tasssadar/Lorris

Copyright (C) 2012 Vojtěch Boček
Contact: <vbocek@gmail.com>
         https://github.com/Tasssadar

Version 0.6.1 - git revision [616] - 0faae5dc58047daf482c756fbf04fce6c819b3a1
================================================================
 * Fix crash with python script
 * Update libenjoy
     * handle POV hats as 2 additional axes

Version 0.6.0 - git revision [608] - 31009d84f312b8491aec0f7d758dcc24fd9bc72e
================================================================
 * Disable updater on non-windows systems
 * Implement sessions
 * Show connection name in tab's title
 * Implement portable mode (for flash drives)
 * Add new settings dialog, Menu->Options->Settings
 * Show percents when resizing splitted tabs
 * Fix and freezes with serial port on Windows
 * Connect directly to USB devices, not to their
   emulated Serial port (thanks to Avakar)
 * Add support for multiple windows
 * ctrl+tab to switch tabs
 * Show only notification when update is available
 * Check for update asynchronously - do not block app's start
 * Fix freeze when destroying SerialPort which is connecting to the device
 * Show current tab's name in window title
 * Qwt and PythonQt are no longer prebuilt on Windows
 * Build fixes for linux, add new prepare.sh script
 * Use libenjoy for joystick support, drop SDL dependecy
 * Bug, crash and freeze fixes

 LorrisAnalyzer:
 * Add option to change graph's background
 * Add examples to ScriptWidget
 * Save ScriptWidget Terminal's settings
 * Add option to import binary data without resetting widgets
 * Add Slider widget, usable from script
 * Fix cursor changing while in widgets
 * Improvements in Script Editor
 * Add option to set shortcut for button widget
 * Add Canvas widget, usable from script (can only draw lines for now)
 * Use QwtThermo insted of QProgressBar in BarWidget
 * Make Graph's "removeCurve" available from script
 * Rename widgets with double-click to their title
 * Copy widgets with ctrl+drag
 * Add error-notifier icon to ScriptWidget
 * Open Script editor in another tab
 * Show area preview while it's moved
 * Add ScriptStorage::exists(key) function
 * Add support for Kate and QScintilla2 editors
 * Raise widget up when user clicks on it
 * Switch graph mouse buttons:
    - left: moving
    - middle: zoom to area
 * Update axes values while panning the graph
 * Implement markers for Graph
 * Data file format has changed. It is not backwards-compatible.
 * Optimize memory usage
 * Set F5 as "apply" shortcut in ScriptEditor
 * Make widget area a bit darker, widgets should stand out
 * Add interactive input to ScriptWidget
 * Show placement lines when moving/resizing widget
 * Make sure widget's name is unique
 * Add new methods to InputWidget

 LorrisProxy:
 * Rewrite TcpServer
 * Add option to disconnect clients
 * Redesign UI
 * Implement ProxyTunnel

 LorrisShupito:
 * Show notification when shupito stops responding
 * Fix initial status of read/write buttons
 * Fix WDTON fuse translation
 * Properly verify fuse values after write on ATmega chips

 LorrisTerminal:
 * Bootloader code rewrite
 * Add ability to change colors
 * Auto-press "stop" if not stopped when flashing
 * Do not show same-file-again warn if flashing fails
 * Add option to send bytes
 * Fix mouse selection

Version 0.5.0 - git revision [430] - be480e09f75a2101e37204d1e6b994402dd66135
================================================================
 * Use precompiled headers to speed-up compilation
 * Change build steps - dependecies area now automaticaly built on linux
   (and precompiled binaries are shipped with Lorris for Windows)
 * Implement drag&drop for tabs - drag the tab and see what happens
 * Support for Win7 taskbar progress info
 * Implement new settings for all Terminals throughout the app,
   accessible by right-click. Mostly control chars behavior.
 * Make serial port speeds user-specified, which fixes high speeds on Windows
 * Remove top bar and put it's contents to "Menu" button
 * Save window position and size on close
 * Fix crash with ShupitoTunnel
 * Implement auto-update on windows

 LorrisAnalyzer:
 * Fix parser for packets without header
 * Fix some bugs in widget resize code
 * Switch graph mouse buttons:
    - Left: moves the graph
    - Middle: zoom
 * Implement import/export of binary files
 * Set "hand" cursor for WidgetArea, so that user can see it is movable
 * Implement support for Python 2.7 to ScriptWidget. Requires Python 2.7 installed.
 * Add circle widget. Shows angle.
 * Limit graph replot rate to 100ms, improves performance
 * Implement grid. Right click to widget area for settings.
 * Fix Graph's curve edit dialog color loading
 * Implement export of Graph curve(s) data as binary or CSV

 LorrisProxy:
 * Allow to select and copy server's address

 LorrisShupito:
 * Add overvoltage warning
 * Fuse names and values translation to human-readable form. Long description
   is in tooltip (move mouse to fuse name and wait)
 * Change layout a bit
 * Show warning when flashing the same file twice
 * Add controls to terminal tab

 LorrisTerminal:
 * Option to hide/show bootloader controls, default is hidden.
   Configure by right-clicking somewhere near other buttons.
 * Show warning when flashing the same file twice

Version 0.4.0 - git revision [347] - 7e229ab0fe389eb9093313ca2d95e0b841e8cde4
================================================================
 * Fix crash on joystick close
 * New connection manager, lot of fixes and improvements
   for connections - thanks to Avakar
 * QExtSerialPort lib updated to 1.2
 * Add little "+" icon to open new tab
 * Support for opening files via arguments - you can now
   set Lorris as "Open with..." for .cldta, .ldta and .hex files
 * Linux: fix 100% cpu usage when serial port device is removed
   while Lorris is still connected
 * Windows: fix several bugs in serial port code - thanks to Avakar
 * Tab menus has moved from top menu to "Menu" button on the left side of tabs  

 LorrisAnalyzer:
 * Improvements to packet parsing logic
 * Remove update limitation, every packet is now
   parsed and displayed by widgets
 * Fix sample size in GraphWidget
 * Fix GraphWidget's context menu
 * Data in SourceDialog are now parsed in same way as in Analyzer itself
 * Add little "+" icon to add new cmd/device id filter
 * Improve TerminalWidget
   * Properly show received data
   * Fix key press sending
 * ScriptWidget: add onSave event, to be implemented in script
 * Add toolbar with nice shiny icons
 * Change colors of widgets and byte area a little
 
 LorrisShupito:
 * Show full path and time of last modification of loaded hex file
 * Add toolbar with icons

 LorrisTerminal:
 * Automacitally put hexfile name from config to textbox
 * Split config entries for hexfile name and text file name
 * Make page up/down and arrows work in terminal
 * Implement font selection. Do not select non-monospace fonts, though
 * Terminal now properly sends ctrl+_something_ keys

Version 0.3.1 - git revision [291] - 8d32216a3dd901af2ce685aa2bd7c806f444f377
================================================================
 * Fix several bugs in split view feature
 * Add status bar, can be used by modules
   to notify you of various events
 * Fix crash on click to Home tab's header
 * Fix crash on Serial port disconnect
 * Fix crash in LorrisProxy when connection to serial port fails

 LorrisAnalyzer:
 * Add JavaScript class implementation by John Resig into ScriptWidget
   http://ejohn.org/blog/simple-javascript-inheritance/
 * Fix several bugs in ScriptWidget's script processing
 * Implement ScriptStorage - script can now save data
 * Add "File was changed" dialog.

 LorrisTerminal:
 * Several bugfixes
 * Improved performance
 * Terminal now uses UTF8 encoding instead of ASCII

Version 0.3.0 - git revision [262]
================================================================
 * Tabs can be opened and closed by mouse-clicking.
   Middle button on tab to close it, outside tab to open new one
 * Tabs can be renamed and reordered
 * Tabs can be now splitted, so that you can see multiple tabs at once
 * Translate default buttons ("Ok", "Apply", "cancel", ..)
 * Add joystick support. Can be used in LorrisAnalyzer's ScriptWidget
 * Optimize Terminal drawing code
 * Lower SerialPort's polling time to 1ms. This will speed-up shupito's programming
 * Disable module and connection selection while connecting to device

 LorrisShupito:
 * Add auto-reload of HEX files
 * Add terminal tab
 * Set default programming frequency to 2MHz
 * Add start/stop button

 LorrisAnalyzer:
 * Add option to clear only received data, not structure and widgets
 * GraphWidget's sample size is now set according to X axis' scale by default
 * Fix bug in BarWidget's range settings
 * Save position into data files
 * Fix bug - properly load static data when chaning packet structure
 * Add TerminalWidget. It is ScriptWidget with premade script
 * Properly show resize cursor on DataWidgets when resize is possible
 * You can now hide widget's title bars
 * Data file handling was improved, you can now use "Ctrl+S" shortcut
 * ScriptWidget: Fix bug with 1 byte long data in sendData()
 * ScriptWidget: Implement throwException(string)
 * ScriptWidget: export AnalyzerDataArea (as "area") and ScriptWidget (as "script") objects into script
 * ScriptWidget: implement moveWidget(widget, x, y) method
 * ScriptWidget: Implement DataWidget::remove()
 * ScriptWidget: Implement event system for widgets, thanks to Avakar
     - object is created in script for every widget, named by their title
     - ButtonWidget added. This widget will raise onclick event, which script
       can handle by implementing *widget's title*_clicked() method
     - script can implement onWidgetAdd(widget, widget's title)
       and onWidgetRemove(widget, widget's title) methods

Version 0.2.1 - git revision [207]
================================================================
 * Bugfix release - fix crash in LorrisAnalyzer when deleting widgets created by ScriptWidget
 * Implement getWidth and getHeight to ScriptWidget

Version 0.2.0 - git revision [204]
================================================================
 * LorrisAnalyzer: Implement ScriptWidget, which allows to parse data with user-defined script
 * LorrisAnalyzer: Implement playback function
 * LorrisAnalyzer: Improvements to GraphWidget code
 * LorrisAnalyzer: Add support for compressed data files
 * LorrisAnalyzer: UI corrections
 * Bug fixes, crash fixes and random fixes

Version 0.1.0 - git revision [164]
================================================================
 * First release
