Qtopia Home - Classes - Hierachy - Annotated - Functions - Qt Embedded |

## Qtopia - 1.6.0 Release Notes

The Qtopia 1.6 release constituted a rounding out of the Qtopia platform, with a number of improvements resulting from one year of field experience with 1.5. Completeness and stability have been the focus of development. Additional attention has been paid to usability, maintainability, and flexibility.

### Completeness

The Qtopia device platform now includes many of the finishing touches one would expect from the leading GUI on embedded Linux. Added features are:

- 'Today' application showing interesting items for the day.
- Voice Recorder with GSM audio compression.
- Simple daily alarm feature (set in the Clock application).
- User-definable association of applications to services (for example, the user can choose which web browser provided the WebAccess service).
- User-definable actions for device hardware buttons.
- Different light and power settings when on battery or mains power.
- User control over which plugins are loaded, and protection from plugins that cause a crash.

Numerous other minor improvements have added to the general polish of the application suite.

The Qtopia development platform has also been tuned from our experiences with developers. The following features have been added to the Qtopia SDK:

- Accessory - the ability to install items in the Q-Menu for frequently-accessed functionality that does not otherwise require space in the taskbar.
- QPEDatePicker - a widget for selecting dates.
- DeviceButton - an abstraction of device hardware buttons.
- DocPropertiesWidget and DocPropertiesDialog - a widget for allowing the user to set document properties.
- LocationCombo - a widget for selecting a storage location.
- QProcess - the Qt class for running processes asynchronously.
- QWizard - the Qt class for simple wizard dialogs.
- TimeZone - encapsulation of the system zoneinfo database.
- Service - the ability to refer to and provide actions without specifically identifying the application that might provide the service.
- DocLnk - the location for the document can be easily set.
- Calendar - a number of useful date operations are added.
- Config - QByteArray values can be stored.
- Global - applications can inspect the Qtopia version, architecture, device ID, and owner name.
- Global - Base64 encoding and decoding functions are provided.
- QPEApplication - functions for showing and executing dialogs such that they are resized, positioned, or maximized as appropriate for the device.
- Resource - function to load QIconSet values, and a superior function for generating 'disabled' icons.
- TimeString - functions for simply generating locale- and user-specific formatted dates and times.

A number of other minor functions have been added.

### Stability and Correctness

A broad range of bugs have been found, tracked, and corrected for this release.

Bug reports have been collected from users, developers, and our internal test teams.

A number of known bugs remain, but none that cause difficulty for the end user. A full list of known bugs is available, and access to our bug tracking system is available to OEM customers.

Conformance to existing standards has been improved, especially the OBEX, vCalendar and vCard protocols used in beaming.

### Usability

Consistency between applications has been improved to enhance user familiarity. A number of applications have been modified to simplify the user experience.

The software package management and backup/restore software have been modified to use a Wizard interface, greatly simplifying their operation.

### Maintainability

A major change in Qtopia 1.6 is to utilize the cross-platform nature of Qt and the Qtopia applications to re-use the PDA-side application code directly in Qtopia Desktop on all desktop platforms. This ensures that the desktop and PDA remain perfectly consistent, which assists user comprehension and halves the number of possible bugs. As a bonus, the PDA-side code is now more able to utilize larger displays such as the 640 x 480 and larger displays now available on PDAs and tablet/webpad devices.

### Flexibility

Field experience has demonstrated vendor and user desire to customize and personalize devices and to extend functionality in unplanned directions. Qtopia 1.6 assists this by providing for:

- Pluggable styles
- Pluggable window decorations
- Pluggable characterset encodings
- Pluggable font engines
- Pluggable image format support
- Pluggable language input methods
- Pluggable beaming controls
- Pluggable 'Today' sections
- User-selection of application/service associations

This is in addition to the support already in 1.5:

- Pluggable media player format support
- Pluggable visual input methods
- Pluggable network services
- Pluggable color schemes
- Pluggable language support

Additionally, vendor-specific device configuration allows for the simple control of:

- Device hardware buttons
- Device calibration needs
- Device power management support
- Device backlight controls
- Device audio support
- Device hardware LED support

### Since the last beta

For those familiar with the last Qtopia beta release, the following specific points of change should be considered:

- Device Architecture

  The file `src/libraries/custom-*.h` for each platform defines `QPE_ARCHITECTURE`, a string of the form `"Vendor/Brand"`. If you have a custom version of this file for your device, you should define this string. This string is communicated to Qtopia Desktop to assist the user in acquiring packages appropriate to their device.

- Today Auto-start

  The Today application can be autostarted. To enable this, define QPE_DEFAULT_TODAY_MODE to "Daily" (including the quotes in the `custom-*.h` file for your platform. The user can turn this off in the Edit Today View dialog. If the `custom.h` does not define anything, then the default will be to not autostart (but the user can still enable it if they choose). The `custom.h` files shipped with Qtopia all define the "Daily" mode.

Release notes for 1.6.0 beta releases:

- Beta 5
- Beta 4
- Beta 3
- Beta 2