0.80.1
======

CHANGES SINCE 0.80.0
* Add transition animation for magnifier and extended keys
* Improved language switch animation
* Added Hebrew language layouts
* Legacy mode can be enabled through:
  $ qmake -r CONFIG+=enable-meegotouch

BUG FIXES
* Fixes: Don't autocommit previous key if it's the same as the new one.
* Fixes: NB#268341, VKB related vibration feedbacks need to be updated
* Fixes: NB#265905 - Wrong styles used in Word list dialog
* Fixes: NB#261490 - [TASK] Implement transition between magnifier and extended keys
* Fixes: "Unconsumed meta data" during dpkg-buildpackage.
* Fixes: Syling for 33-keys layouts
* Fixes: NB#264297
* Fixes: NB#266879 - No email text input keyboard for Swedish
* Fixes: Use Hebrew phonenumber layout, too
* Fixes: BMC#17318 - Missing Hebrew virtual keyboard layout
* Fixes: NB#265892 - Messaging app hangs or working very slow while writing a message in certain way
* Fixes: failed Ut_MKeyboardHost
* Fixes: Cangjie toggle key need to be reset.
* Fixes: NB#266446
* Fixes: NB#254893 - Search suggestion is not updated for Google...
* Fixes: NB#262890 - In the custom toolbar field,buttons present in the vkb toolbar are getting highligtened while the vkb is closing.
* Fixes: NB#258652 - Keyboard language notification is not according to layout guide
* Fixes: NB#259910, CommonComboBoxIcons missing from Text input settings
* Fixes: NB#241979 - VKB; Press down state is not shown in candidate dialog of Chinese Zhuyin input.
* Fixes: NB#221453 - Dead key remains highlighted after Keys Pup up is present

0.80.0
======

CHANGES SINCE 0.6.13
* Now builds LMT-free version by default (a simple but functional QML keyboard)
  - Use qmake -r CONFIG+=enable-meegotouch to build LMT reference plugin.
* Use 0.80 plugins (quick) interface

BUG FIXES
* Fixes: Send correct input method area for MeeGo Keyboard Quick

0.6.5
=====

* New CSS attributes for MImAbstractkeyAreaStyle:
  - auto-padding: If true, center-aligns keys in keyboard area. Depends on
    width of key area's size.

* New features:
  - Extended keys can spread over multiple lines. In the layout files, for
    example:

      <key>
        <binding label="e" extended_labels="èé&#10;ëê€"/>
      </key>

    This will create a 3x2 box holding five labels. &#10; is the XML entity
    representing \n (newline).

0.6.2
=====

* New features:
  - A QML-based keyboard. Does not depend on libmeegotouch. Installs as a
    regular plugin by default, next to the MeeGo Keyboard. Activation like so:
    $ gconftool-2 -s /meegotouch/inputmethods/plugins/onscreen -t string "MeegoKeyboardQuick"

0.6.0
=====

* New features:
  - Virtual keyboard magnifier shows the currently touched letter.
  - Extended keys popup on long-press, for keys with the extended_labels
    attribute in the layout files.

0.5.38
======

* New CSS attributes for MImAbstractKeyAreaStyle:
  - enable-overlay-mode: In overlay mode, reactive area of first/last row
    spawns to top/bottom of display. Does not effect key geometry.

0.5.36
======

* Spacer elements are no longer inactive. Instead, they count as reactive area
  for neighbouring keys.

0.5.20
======

* Internal changes in meego-keyboard:
  - MImKey:
    - New geometry API (MImKey::Geometry) - a key's bounding rect is now
      defined by the key's margins. Geometry can be accessed or modifed through
      ::geometry(), ::setGeometry(.), although there some convenience functions
      for key position, key width and key height. Key position refers to the 
      top left corner of the bounding rect.

  - MImKeyArea:
    - Changed key layouting. Instead of spacing between keys, the layout is now
      fully determined by key size and key margins. That is, spacing between
      two keys only depends on their pairing margins.

  - MImAbstractKeyArea:
    - Changes between different style modes (key13 and key30-key45), depending
      on how many keys a layout has. This gives tighter control over layouts.
      The old behaviour can be activated through
      "sync-style-mode-with-key-count: false;"

  - MImAbstractKeyAreaStyle:
    - Renamed row-height* to key-height*, because that's closer to reality.
    - key-height (row-height) was removed, just use key-height-medium instead.
    - padding behaviour changed:
      - padding-left overrides key-margin-left of the left-most key in a row,
      - padding-top overrides key-margin-top of all keys in top row,
      - padding-right overrides key-margin-right of the right-most key in a
        row,
      - padding-bottom overrides key-margin-bottom of all keys in bottom row.
    - size allows to override height from key area height computation, if > -1.
      Overriding width is not supported yet.
       
0.5.15
========

* Changes in meego-keyboard:
    - changed signature of following signals in MImAbstractKeyArea:
        - keyPressed
        - keyReleased
        - keyClicked
        - longKeyPressed

0.5.11
========

* Changes in meego-keyboard:
    - changed signature of following signals in MImAbstractKeyArea:
        - keyPressed
        - keyReleased
        - keyClicked
        - longKeyPressed

0.5.10-1
========

* Internal changes in meego-keyboard:
  - MImAbstractKey:
    - renamed key() => model()
    - added resetActiveKeys(): will release all stuck keys
    - added visitActiveKeys(.): takes a functor, and applies it to all active
      keys. Aborts iteration if functor returns true.
    - added MImAbstractKeyVisitor interface
    - added lastActiveKey(): returns most recently pressed key that wasn't
      released yet.

  - MImAbstractKeyArea:
    - renamed updateButtonGeometriesForWith() => updateKeyGeometries()

0.5.9-1
=======

* Speed typing improvements

* Internal changes in meego-keyboard:
  - The following classes were renamed:
    - KeyButtonArea          => MImAbstractKeyArea
    - KeyButtonAreaStyle     => MImAbstractkeyAreaStyle
    - SingleWidgetButtonArea => MImKeyArea
    - IKeyButton             => MImAbstractKey
    - SingleWidgetButton     => MImKey
    - VKBDataKey             => MImKeyModel
    - KeyBinding             => MImKeyBinding
  - Cleaned up PopupBase API. It now takes a KeyButtonArea parameter, which
    enables easier communication between popup and the currently active
    KeyButtonArea; the interface consists of:
    - updatePos, cancel, handleKeyPressedOnMainArea,
      handleLongKeyPressedOnMainArea, isVisible, setEnabled
  - SingleWidgetButtonArea headers are now exported.

* New CSS attributes for KeyButtonAreaStyle:
  - debugging-related:
    - draw-button-bounding-rects: [false|true];
    - draw-button-rects: [false|true];
    - debug-touchpoints: [false|true];
    - draw-reactive-areas: [false|true];
  - others:
    - button-bounding-rect-top-adjustment: [int];
    - button-bounding-rect-bottom-adjustment: [int];
    - idle-vkb-timeout: [int in ms];

0.5.?-?
=======

* New CSS properties:
  - touchpoint-horizontal-gravity, touchpoint-vertical-gravity: Allows to
    control how far a finger can slip from the currently touched key button,
    without releasing it. Distance is measured from button border.


0.5.1-1
========

* meego-keyboard.schemas is Changed.
  - /schemas/meegotouch/inputmethods/languages is changed to
  /schemas/meegotouch/inputmethods/virtualkeyboard/layouts. It
  stores initial layout file lists for meego-keyboard.
  - /schemas/meegotouch/inputmethods/languages/default is changed to
  /schemas/meegotouch/inputmethods/virtualkeyboard/layouts/default.
  It stores default layout file name for meego-keyboard.

* Internal changes in meego-keyboard:
  - KeyboardData:
    - layoutFile returns layout file name.

  - LayoutsManager:
    - layoutCount returns the count of keyboard layouts.
    - languageList is removed. Use layoutFileList to instead.
    - layoutFileList returns the keyboard layout name list.
    - layout is changed to accepct layout name instead of language code
    as the input parameter.
    - defaultLanguage is replaced by defaultLayout.
    - languagesChanged signal is renamed to layoutsChanged.
    - loadLanguage is replaced by loadLayout.
    - keyboardByName is changed to accepct layout file name instead of
    language code as the input parameter.

  - MVirtualKeyboard:
    - selectedLanguage is replaced by selectedLayout.
    - switchLanguage is replaced by switchLayout.
    - setLanguage is replaced by setLayout.
    - languageReset is replaced by keyboardsReset.
    - languageChanged signal is renamed to layoutChanged.
    - createMainSectionView and createSectionView are changed to accept
    layout name instead of language code as the input parameter.

  - SymbolView:
    - SymbolView is changed to accept layout name instead of language code
    as the input parameter.
    - setLanguage is replaced by setLayout.


0.5.0-1
========

* New keyboard layouts:
  - Hungarian, Romanian, Slovak, Ukrainian, Turkish, Indonesian, Malay,
    Brazilan, Mexican

* API changes in meego-keyboard:
  - New typedef for QSharedPointer<LayoutSection> -
    LayoutData::SharedLayoutSection.
  - Switch to floating points for SWBA geometry computation.

  - KeyButtonArea:
    - updateButtonGeometries was replaced by updateButtonGeometriesForWidth,
    - buttonInformation, buttonSizeByColumn got removed.

  - LayoutSection:
    - maxNormalizedWidth returns the row width in logical units, using a key's
      width attribute.
    - rowHeight returns the row height, using a row's height attribute.
    - spacerIndices returns a list with the position of space elements for a
      given row.
    - Renamed getVKBKey to vkbKey.

  - LayoutData:
    - Changed return type of section (and its overload) to SharedLayoutSection,
      removing the constness from the contained LayoutSection.

  - LayoutsManager:
    - createInstance, ctor now take an (optional)
      MVirtualKeyboardStyleContainer parameter.
    - Layout returns an empty LayoutData instance in case the queried layout
      could not be found.

  - KeyboardData:
    - Ctor now takes an (optional) MVirtualKeyboardStyleContainer parameter.

  - VKBDataKey:
    - Ctor now takes a StyleType and a SizeType parameter, too.
    - New getters (style, size, isFixedSize) for current StyleType, SizeType
      and whether to use fixed key width or (relative) scaling.
    - normalizedSize returns the key's QSizeF (queried from style and dependend
      on the SizeType).

  - SingleWidgetButtonArea, KeyButtonArea:
    - Removed updateButtonGeometries and made updateButtonGeometriesForWidth a
      pure virtual instead.
    - Removed ButtonSizeScheme, ButtonSize takes over (difference: scheme
      was bound to a whole layout section, size type are flexible).
    - drawSymKeyBackground removed, drawNormalKeyBackground renamed to
      drawKeyBackground: styling (per button) can now be done via style.

  - SymbolView:
    - loadFunctionRow, setFunctionRowState, updateSymIndicator removed.

  - FlickupButton:
    - FlickupButton is removed.

  - FlickupButtonView:
    - FlickupButtonView is removed.

  - FlickUpButtonStyle:
    - FlickUpButtonStyle and FlickUpButtonStyleContainer are removed.

* Keyboard layout files became more expressive:
  - New style attribute for key elements: normal (default), deadkey, special.
    The new style types can be referenced from CSS files, allowing for more
    flexible button styling.
  - New height attribute for row elements: small, medium (default), large,
    x-large, xx-large. The height can be used to specify the relative row
    height in CSS files (no support for fixed height yet).
  - New fixed attribute for row elements: true, false (default). It defines
    whether the row height specified in height attributes should be a relative
    or fixed value.
  - New width attribute for key elements: small, medium (default), large,
    x-large, xx-large, stretched. The new width type can be used to specify
    relative button width in CSS files (no support for fixed width yet).
  - New fixed attribute for key elements: true, false (default). It defines
    whether the button width specified in size attributes should be a relative
    or fixed value.
  - New spacer element for row elements: Spacers distribute all remaining space
    of a row among them, after the possible stretcher button has been dealt
    with.
  - The section's alignment attributes have been superseded by spacer elements,
    and therefore, been removed.
  - New action switch for binding: switch action indicates to switch active symbol
    page to the next avaliable page.

* New CSS properties:
  - MVirtualKeyboardStyle:
    - key-width-small, key-width-small-fixed
    - key-width-medium, key-width-medium-fixed
    - key-width-large, key-width-large-fixed
    - key-width-x-large, key-width-x-large-fixed
    - key-width-xx-large, key-width-xx-large-fixed
    - key-width-stretched, key-width-stretched-fixed
    - row-height-small,
    - row-height-medium,
    - row-height-large,
    - row-height-x-large,
    - row-height-xx-large,
    - key-background, key-background-pressed,
      key-background-selected, key-background-pressed-selected
    - key-background-special, key-background-special-pressed,
      key-background-special-selected, key-background-special-pressed-selected
    - key-background-deadkey, key-background-deadkey-pressed,
      key-background-deadkey-selected, key-background-deadkey-pressed-selected
    - key-height

* Removed CSS properties:
   - key-background-sym-indicator-sym, key-background-sym-indicator-sym-pressed
   - key-background-sym-indicator-ace, key-background-sym-indicator-ace-pressed
   - key-normal-size, key-phone-number-normal-size, key-function-normal-size,
     key-function-large-size, key-number-function-large-size,
     key-sym-normal-size:


0.4.13-1
=========

* Direct mode for VKB was temporarily disabled due to NB#176441.
