Qt4 Hildon/Qt Hildon Widgets

Line 1: Line 1:
-
Qt for Hildon does not yet provide a set of composite widgets similar to those provided in Gtk Hildon.
+
Qt for Hildon won't provide a set of composite widgets similar to those provided in Gtk Hildon. They will be part of an extra library.
This page is intended to link to resources to help the community develop these widgets.
This page is intended to link to resources to help the community develop these widgets.
Line 16: Line 16:
Following existing Qt Widgets have issues with Maemo 5 theming/Maemo 5 UI Style:
Following existing Qt Widgets have issues with Maemo 5 theming/Maemo 5 UI Style:
-
* Toolbar does not have correct height
+
* <s>Toolbar does not have correct height</s> [Toolbar sizeHint is 48px]
* Toolbar icons do not have correct size (HILDON_ICON_SIZE_FINGER)  
* Toolbar icons do not have correct size (HILDON_ICON_SIZE_FINGER)  
-
* Dialogs do not have finger size buttons (HILDON_SIZE_FINGER_HEIGHT)
+
* <s>Dialogs do not have finger size buttons (HILDON_SIZE_FINGER_HEIGHT)</s>
* Dialogs do not theme dialog buttons as such (different theme from normal buttons)
* Dialogs do not theme dialog buttons as such (different theme from normal buttons)
* Dialogs have type icons (e.g. warning) where has in Maemo 5 use of those icons is not allowed.
* Dialogs have type icons (e.g. warning) where has in Maemo 5 use of those icons is not allowed.
-
* Dialog buttons should stack on top of each other, but currently they layout themselves horizontally
+
* <s>Dialog buttons should stack on top of each other, but currently they layout themselves horizontally</s>
-
* Checkboxes should be embedded into button => Checkboxbutton.
+
* Checkboxes should be embedded into button => Checkboxbutton. [Checkable QPushButton have to be themed or this will be part of an extra lib]
-
* overall in many places margins/paddings are not the same as in Maemo 5 UI.
+
* keyboard accelerator hints (underscores) are being shown, while Maemo 5 UI Style requires them to be hidden
* keyboard accelerator hints (underscores) are being shown, while Maemo 5 UI Style requires them to be hidden
-
* Stock dialogs use button strings such as "OK" and "Cancel", which are forbidden in Maemo 5 UI Style. "OK" should be replaced with an action string or with "Done". The "Cancel" should be removed, as dialogs are cancelled by tapping outside of the dialog.
+
* Stock dialogs use button strings such as "OK" and "Cancel", which are forbidden in Maemo 5 UI Style. "OK" should be replaced with an action string or with "Done".<s> The "Cancel" should be removed, as dialogs are cancelled by tapping outside of the dialog.</s>
* stock "Exit" command should be removed from the menus. It is not allowed in Maemo 5 UI Style.
* stock "Exit" command should be removed from the menus. It is not allowed in Maemo 5 UI Style.
-
* Sliders/Scales?
+
* <s>Sliders/Scales</s>
-
* Button heights?
+
* Button heights? [At moment there is no sizeHint, Developer have to set it to 65px]
-
* Text input fields/text areas(?)
+
* <s>Text input fields</s> [Style is okay]
 +
* text areas(?)
Following important Hildon widgets need the respective Qt Hildon widget (in priority order):
Following important Hildon widgets need the respective Qt Hildon widget (in priority order):
-
* Sub views ([http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows description]) - [https://git.maemo.org/projects/hildon/gitweb?p=hildon;a=blob;f=hildon/hildon-stackable-window.h;hb=HEAD HildonStackableWindow] ([http://qt.gitorious.org/+qt-maemo-developers/qt/qt-maemo/commits/patch-hildon.stacked.windows-fremantle Done in QT])
+
* <s>Sub views ([http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows description]) - [https://git.maemo.org/projects/hildon/gitweb?p=hildon;a=blob;f=hildon/hildon-stackable-window.h;hb=HEAD HildonStackableWindow] ([http://qt.gitorious.org/+qt-maemo-developers/qt/qt-maemo/commits/patch-hildon.stacked.windows-fremantle])</s>
-
* view menu ([http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/View_Menu description], filter buttons) - [https://git.maemo.org/projects/hildon/gitweb?p=hildon;a=blob;f=hildon/hildon-app-menu.h;hb=HEAD HildonAppMenu] (NOTE: this is not at all same widget as the legacy application menu in Gtk or Maemo 4) ( Mostly done in Qt )
+
* <s>view menu ([http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/View_Menu description], filter buttons) - [https://git.maemo.org/projects/hildon/gitweb?p=hildon;a=blob;f=hildon/hildon-app-menu.h;hb=HEAD HildonAppMenu] (NOTE: this is not at all same widget as the legacy application menu in Gtk or Maemo 4) </s>
-
* Edit mode toolbar ([http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Controls#Edit_Toolbar description]) - [https://git.maemo.org/projects/hildon/gitweb?p=hildon;a=blob;f=hildon/hildon-edit-toolbar.h;hb=HEAD HildonEditToolbar]  
+
* Edit mode toolbar ([http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Controls#Edit_Toolbar description]) - [https://git.maemo.org/projects/hildon/gitweb?p=hildon;a=blob;f=hildon/hildon-edit-toolbar.h;hb=HEAD HildonEditToolbar] [This could be part of our Qt Hildon Extra lib]
-
* Action buttons for pannable lists ([http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Porting_Software/Redesigning_From_Maemo_4_to_Maemo_5#Accounts_view example]) - [https://stage.maemo.org/viewcvs.cgi/projects/haf/trunk/gtk%2B/gtk/gtktreeview.h?root=maemo&view=markup hildon_tree_view_get_action_area_box etc. in Maemo GtkTreeview]
+
* Action buttons for pannable lists ([http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Porting_Software/Redesigning_From_Maemo_4_to_Maemo_5#Accounts_view example]) - [https://stage.maemo.org/viewcvs.cgi/projects/haf/trunk/gtk%2B/gtk/gtktreeview.h?root=maemo&view=markup hildon_tree_view_get_action_area_box etc. in Maemo GtkTreeview][will be part of the extra Qt lib or you can use a QPushButton and load the "+" icon by yourself]
-
* Picker buttons ([http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Controls#Picker_Button description], see also HildonTouchSelector) - [https://git.maemo.org/projects/hildon/gitweb?p=hildon;a=blob;f=hildon/hildon-picker-button.h;hb=HEAD HildonPickerButton]
+
* Picker buttons ([http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Controls#Picker_Button description], see also HildonTouchSelector) - [https://git.maemo.org/projects/hildon/gitweb?p=hildon;a=blob;f=hildon/hildon-picker-button.h;hb=HEAD HildonPickerButton][will be part of the extra Qt lib]
-
* list selectors ([http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Controls#Touch_Selectors description], single column, multi column, single selection, multiselection, picker with entry, with images) - [https://git.maemo.org/projects/hildon/gitweb?p=hildon;a=blob;f=hildon/hildon-touch-selector.h;hb=HEAD HildonTouchSelector]
+
* list selectors ([http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Controls#Touch_Selectors description], single column, multi column, single selection, multiselection, picker with entry, with images) - [https://git.maemo.org/projects/hildon/gitweb?p=hildon;a=blob;f=hildon/hildon-touch-selector.h;hb=HEAD HildonTouchSelector][will be part of the extra Qt lib]
-
* Date picker ([http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Controls#Date_Button description], including column re-layout based on locale data) - [https://git.maemo.org/projects/hildon/gitweb?p=hildon;a=blob;f=hildon/hildon-date-button.h;hb=HEAD HildonDateButton]
+
* Date picker ([http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Controls#Date_Button description], including column re-layout based on locale data) - [https://git.maemo.org/projects/hildon/gitweb?p=hildon;a=blob;f=hildon/hildon-date-button.h;hb=HEAD HildonDateButton][will be part of the extra Qt lib]
-
* Time picker ([http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Controls#Time_Button description], including AM/PM support based on user setting) - [https://git.maemo.org/projects/hildon/gitweb?p=hildon;a=blob;f=hildon/hildon-time-button.h;hb=HEAD HildonTimeButton]
+
* Time picker ([http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Controls#Time_Button description], including AM/PM support based on user setting) - [https://git.maemo.org/projects/hildon/gitweb?p=hildon;a=blob;f=hildon/hildon-time-button.h;hb=HEAD HildonTimeButton][will be part of the extra Qt lib]
-
* hildon banner
+
* hildon banner [will be part of the extra Qt lib]
* hildon confirmation note
* hildon confirmation note
-
* hildon dialog (with buttons on the bottom right side in landscape)
+
* <s>hildon dialog (with buttons on the bottom right side in landscape)</s>
-
* hildon entry (including the possibility for placeholder text)
+
* <s>hildon entry (including the possibility for placeholder text)</s>
Following QT toolkit widgets are not optimized for mobile ui, and consequently are not finger usable on high DPI touchscreens like Nokia N900.
Following QT toolkit widgets are not optimized for mobile ui, and consequently are not finger usable on high DPI touchscreens like Nokia N900.
-
* QColorDialog
+
* <s>QColorDialog</s> [Qt dialog has been modified in order to be usable with fingers]
-
* QFontDialog
+
* <s>QFontDialog</s> [Qt dialog has been modified in order to be usable with fingers]
* ...
* ...

Revision as of 09:22, 29 September 2009

Qt for Hildon won't provide a set of composite widgets similar to those provided in Gtk Hildon. They will be part of an extra library.

This page is intended to link to resources to help the community develop these widgets.

Note that they will not be part of Qt as such, but will be optional widgets to aid developing applications for Maemo.


For details about Maemo 5 user experience, see:


Following existing Qt Widgets have issues with Maemo 5 theming/Maemo 5 UI Style:

  • Toolbar does not have correct height [Toolbar sizeHint is 48px]
  • Toolbar icons do not have correct size (HILDON_ICON_SIZE_FINGER)
  • Dialogs do not have finger size buttons (HILDON_SIZE_FINGER_HEIGHT)
  • Dialogs do not theme dialog buttons as such (different theme from normal buttons)
  • Dialogs have type icons (e.g. warning) where has in Maemo 5 use of those icons is not allowed.
  • Dialog buttons should stack on top of each other, but currently they layout themselves horizontally
  • Checkboxes should be embedded into button => Checkboxbutton. [Checkable QPushButton have to be themed or this will be part of an extra lib]
  • keyboard accelerator hints (underscores) are being shown, while Maemo 5 UI Style requires them to be hidden
  • Stock dialogs use button strings such as "OK" and "Cancel", which are forbidden in Maemo 5 UI Style. "OK" should be replaced with an action string or with "Done". The "Cancel" should be removed, as dialogs are cancelled by tapping outside of the dialog.
  • stock "Exit" command should be removed from the menus. It is not allowed in Maemo 5 UI Style.
  • Sliders/Scales
  • Button heights? [At moment there is no sizeHint, Developer have to set it to 65px]
  • Text input fields [Style is okay]
  • text areas(?)


Following important Hildon widgets need the respective Qt Hildon widget (in priority order):


Following QT toolkit widgets are not optimized for mobile ui, and consequently are not finger usable on high DPI touchscreens like Nokia N900.

  • QColorDialog [Qt dialog has been modified in order to be usable with fingers]
  • QFontDialog [Qt dialog has been modified in order to be usable with fingers]
  • ...


These links may be of use: