Merge lp:~bzoltan/ubuntu-ui-toolkit/uitk12_final_vivid_landing into lp:ubuntu-ui-toolkit

Proposed by Zoltan Balogh
Status: Merged
Approved by: Zoltan Balogh
Approved revision: 1441
Merged at revision: 1165
Proposed branch: lp:~bzoltan/ubuntu-ui-toolkit/uitk12_final_vivid_landing
Merge into: lp:ubuntu-ui-toolkit
Diff against target: 19361 lines (+7892/-4374)
299 files modified
.bzrignore (+1/-0)
components.api (+172/-36)
debian/changelog (+102/-0)
debian/control (+3/-0)
documentation/css/base.css (+1/-1)
documentation/docs.sh (+0/-2)
documentation/overview.qdoc (+21/-12)
documentation/resolution-independence.qdoc (+3/-3)
documentation/snippets/layouts/SimpleLayout.qml (+2/-2)
documentation/snippets/layouts/layout1.qml (+2/-2)
documentation/snippets/layouts/layout2.qml (+2/-2)
documentation/snippets/layouts/layout3.qml (+2/-2)
documentation/snippets/layouts/layout6.qml (+2/-2)
documentation/snippets/layouts/layout7.qml (+2/-2)
documentation/snippets/statesaver/ColorChanger.qml (+2/-2)
documentation/snippets/statesaver/MultiplePropertySaver.qml (+2/-2)
documentation/snippets/statesaver/PropertyGroupSaver.qml (+2/-2)
documentation/snippets/statesaver/PropertyGroupSaver2.qml (+2/-2)
documentation/ubuntu-components.qdoc (+1/-1)
documentation/ubuntu-ui-toolkit-common.qdocconf (+2/-2)
documentation/ubuntu-whatsnew.qdoc (+46/-0)
examples/calculator/calculator.qml (+1/-1)
examples/calculator/components/DefaultLayout.qml (+1/-1)
examples/calculator/components/Functions.qml (+1/-1)
examples/customtheme/main.qml (+1/-4)
examples/customtheme/theme/Palette.qml (+1/-1)
examples/jokes/jokes.qml (+1/-1)
examples/locale/locale.qml (+1/-1)
examples/ubuntu-ui-toolkit-gallery/Buttons.qml (+2/-2)
examples/ubuntu-ui-toolkit-gallery/Colors.qml (+2/-2)
examples/ubuntu-ui-toolkit-gallery/CrossFadeImage.qml (+2/-2)
examples/ubuntu-ui-toolkit-gallery/Dialog.qml (+3/-3)
examples/ubuntu-ui-toolkit-gallery/ListItemWithLabel.qml (+1/-0)
examples/ubuntu-ui-toolkit-gallery/ListItems.qml (+3/-3)
examples/ubuntu-ui-toolkit-gallery/NewListItems.qml (+93/-17)
examples/ubuntu-ui-toolkit-gallery/ProgressBars.qml (+2/-2)
examples/ubuntu-ui-toolkit-gallery/Styles.qml (+1/-1)
examples/ubuntu-ui-toolkit-gallery/UbuntuListViews.qml (+2/-2)
examples/ubuntu-ui-toolkit-gallery/UbuntuShape.qml (+26/-23)
examples/ubuntu-ui-toolkit-gallery/ubuntu-ui-toolkit-gallery.qml (+2/-2)
examples/unit-converter/unit-converter.qml (+2/-2)
modules/Ubuntu/Components/10/Button.qml (+2/-2)
modules/Ubuntu/Components/10/UbuntuColors10.qml (+1/-1)
modules/Ubuntu/Components/11/Button.qml (+2/-2)
modules/Ubuntu/Components/11/Haptics.qml (+181/-0)
modules/Ubuntu/Components/11/UbuntuColors.qml (+1/-1)
modules/Ubuntu/Components/AbstractButton.qml (+8/-14)
modules/Ubuntu/Components/ActionItem.qml (+2/-2)
modules/Ubuntu/Components/ActionList.qml (+2/-2)
modules/Ubuntu/Components/ActivityIndicator.qml (+1/-1)
modules/Ubuntu/Components/AnimatedItem.qml (+1/-1)
modules/Ubuntu/Components/AppHeader.qml (+2/-2)
modules/Ubuntu/Components/Captions.qml (+150/-0)
modules/Ubuntu/Components/CheckBox.qml (+1/-1)
modules/Ubuntu/Components/ComboButton.qml (+15/-15)
modules/Ubuntu/Components/CrossFadeImage.qdoc (+2/-2)
modules/Ubuntu/Components/CrossFadeImage10.qml (+2/-2)
modules/Ubuntu/Components/CrossFadeImage11.qml (+2/-2)
modules/Ubuntu/Components/DraggingArea.qml (+1/-1)
modules/Ubuntu/Components/Header.qml (+1/-1)
modules/Ubuntu/Components/Icon10.qml (+1/-1)
modules/Ubuntu/Components/Icon11.qml (+1/-1)
modules/Ubuntu/Components/InputHandler.qml (+2/-2)
modules/Ubuntu/Components/Label.qml (+1/-1)
modules/Ubuntu/Components/ListItems/Base.qml (+3/-2)
modules/Ubuntu/Components/ListItems/Caption.qml (+3/-2)
modules/Ubuntu/Components/ListItems/Divider.qml (+3/-2)
modules/Ubuntu/Components/ListItems/Empty.qml (+4/-3)
modules/Ubuntu/Components/ListItems/Expandable.qml (+3/-3)
modules/Ubuntu/Components/ListItems/ExpandablesColumn.qml (+3/-3)
modules/Ubuntu/Components/ListItems/Header.qml (+1/-1)
modules/Ubuntu/Components/ListItems/IconVisual.qml (+2/-2)
modules/Ubuntu/Components/ListItems/ImageWithFallback.qml (+1/-1)
modules/Ubuntu/Components/ListItems/ItemSelector.qml (+2/-2)
modules/Ubuntu/Components/ListItems/LabelVisual.qml (+2/-2)
modules/Ubuntu/Components/ListItems/MultiValue.qml (+2/-1)
modules/Ubuntu/Components/ListItems/ProgressionVisual.qml (+2/-2)
modules/Ubuntu/Components/ListItems/SingleControl.qml (+4/-3)
modules/Ubuntu/Components/ListItems/SingleValue.qml (+2/-1)
modules/Ubuntu/Components/ListItems/Standard.qml (+4/-3)
modules/Ubuntu/Components/ListItems/Subtitled.qml (+3/-2)
modules/Ubuntu/Components/ListItems/ThinDivider.qml (+2/-2)
modules/Ubuntu/Components/ListItems/ValueSelector.qml (+2/-2)
modules/Ubuntu/Components/MainView.qdoc (+14/-52)
modules/Ubuntu/Components/MainView.qml (+5/-8)
modules/Ubuntu/Components/MainView12.qml (+163/-0)
modules/Ubuntu/Components/MainViewBase.qml (+2/-3)
modules/Ubuntu/Components/Object.qml (+1/-1)
modules/Ubuntu/Components/OptionSelector.qml (+3/-3)
modules/Ubuntu/Components/OptionSelectorDelegate.qml (+3/-3)
modules/Ubuntu/Components/OrientationHelper.qml (+2/-2)
modules/Ubuntu/Components/Page.qdoc (+10/-4)
modules/Ubuntu/Components/Page10.qml (+6/-5)
modules/Ubuntu/Components/Page11.qml (+5/-1)
modules/Ubuntu/Components/PageHeadConfiguration.qml (+5/-6)
modules/Ubuntu/Components/PageHeadSections.qml (+4/-6)
modules/Ubuntu/Components/PageHeadState.qml (+5/-6)
modules/Ubuntu/Components/PageStack.qml (+8/-18)
modules/Ubuntu/Components/PageTreeNode.qml (+3/-2)
modules/Ubuntu/Components/PageWrapper.qml (+1/-1)
modules/Ubuntu/Components/Panel.qml (+8/-8)
modules/Ubuntu/Components/Pickers/DatePicker.qml (+10/-10)
modules/Ubuntu/Components/Pickers/DayModel.qml (+2/-2)
modules/Ubuntu/Components/Pickers/Dialer.qml (+3/-3)
modules/Ubuntu/Components/Pickers/DialerHand.qml (+2/-2)
modules/Ubuntu/Components/Pickers/DialerHandGroup.qml (+2/-2)
modules/Ubuntu/Components/Pickers/HoursModel.qml (+2/-2)
modules/Ubuntu/Components/Pickers/MinutesModel.qml (+2/-2)
modules/Ubuntu/Components/Pickers/MonthModel.qml (+2/-2)
modules/Ubuntu/Components/Pickers/Picker.qml (+4/-4)
modules/Ubuntu/Components/Pickers/PickerDelegate.qml (+2/-2)
modules/Ubuntu/Components/Pickers/PickerModelBase.qml (+1/-1)
modules/Ubuntu/Components/Pickers/PickerPanel.qml (+4/-4)
modules/Ubuntu/Components/Pickers/PickerRow.qml (+2/-2)
modules/Ubuntu/Components/Pickers/SecondsModel.qml (+2/-2)
modules/Ubuntu/Components/Pickers/YearModel.qml (+2/-2)
modules/Ubuntu/Components/Popups/ActionSelectionPopover.qml (+2/-2)
modules/Ubuntu/Components/Popups/ComposerSheet.qml (+3/-3)
modules/Ubuntu/Components/Popups/DefaultSheet.qml (+3/-3)
modules/Ubuntu/Components/Popups/Dialog.qml (+4/-4)
modules/Ubuntu/Components/Popups/Popover.qml (+12/-4)
modules/Ubuntu/Components/Popups/PopupBase.qml (+2/-2)
modules/Ubuntu/Components/Popups/SheetBase.qml (+2/-2)
modules/Ubuntu/Components/ProgressBar10.qml (+1/-1)
modules/Ubuntu/Components/ProgressBar11.qml (+1/-1)
modules/Ubuntu/Components/PullToRefresh.qml (+8/-8)
modules/Ubuntu/Components/Scrollbar.qml (+1/-1)
modules/Ubuntu/Components/Slider.qml (+1/-1)
modules/Ubuntu/Components/StyledItem.qml (+2/-2)
modules/Ubuntu/Components/Styles/ComboButtonStyle.qml (+1/-1)
modules/Ubuntu/Components/Styles/PageHeadStyle.qml (+1/-1)
modules/Ubuntu/Components/Styles/PullToRefreshStyle.qml (+1/-1)
modules/Ubuntu/Components/Switch.qml (+1/-1)
modules/Ubuntu/Components/Tab.qml (+55/-2)
modules/Ubuntu/Components/TabBar.qml (+1/-1)
modules/Ubuntu/Components/Tabs.qml (+5/-5)
modules/Ubuntu/Components/TextArea.qml (+2/-2)
modules/Ubuntu/Components/TextCursor.qml (+2/-2)
modules/Ubuntu/Components/TextField.qml (+4/-4)
modules/Ubuntu/Components/TextInputPopover.qml (+7/-2)
modules/Ubuntu/Components/Themes/Ambiance/ActivityIndicatorStyle.qml (+3/-8)
modules/Ubuntu/Components/Themes/Ambiance/BubbleShape.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/ButtonForeground.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/ButtonStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/CheckBoxStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/ComboButtonStyle.qml (+3/-3)
modules/Ubuntu/Components/Themes/Ambiance/DatePickerStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/DialerHandStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/DialerStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/DialogForegroundStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/HeadDividerStyle.qml (+1/-1)
modules/Ubuntu/Components/Themes/Ambiance/HeaderStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/HighlightMagnifier.qml (+1/-1)
modules/Ubuntu/Components/Themes/Ambiance/ListItemOptionSelectorStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/ListItemPanel.qml (+0/-189)
modules/Ubuntu/Components/Themes/Ambiance/ListItemStyle.qml (+391/-13)
modules/Ubuntu/Components/Themes/Ambiance/MainViewStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/OptionSelectorStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/OverflowPanel.qml (+1/-1)
modules/Ubuntu/Components/Themes/Ambiance/PageHeadButton.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/PageHeadStyle.qml (+4/-3)
modules/Ubuntu/Components/Themes/Ambiance/Palette.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/PartialColorize.qml (+1/-1)
modules/Ubuntu/Components/Themes/Ambiance/PartialColorizeUbuntuShape.qml (+1/-1)
modules/Ubuntu/Components/Themes/Ambiance/PickerDelegateStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/PickerStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/PopoverForegroundStyle.qml (+1/-1)
modules/Ubuntu/Components/Themes/Ambiance/ProgressBarStyle.qml (+3/-3)
modules/Ubuntu/Components/Themes/Ambiance/ProgressionVisualStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/PullToRefreshStyle.qml (+3/-3)
modules/Ubuntu/Components/Themes/Ambiance/ScrollbarStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/SelectionCursorStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/SheetForegroundStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/SliderStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/SwitchStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/TabBarStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/TextAreaStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/TextCursorStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/TextFieldStyle.qml (+1/-1)
modules/Ubuntu/Components/Themes/Ambiance/ToolbarButtonStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/ToolbarStyle.qml (+2/-2)
modules/Ubuntu/Components/Themes/Ambiance/qmldir (+0/-1)
modules/Ubuntu/Components/Themes/Palette.qml (+1/-1)
modules/Ubuntu/Components/Themes/PaletteValues.qml (+1/-1)
modules/Ubuntu/Components/Themes/SuruDark/MainViewStyle.qml (+1/-1)
modules/Ubuntu/Components/Themes/SuruDark/OptionSelectorStyle.qml (+1/-1)
modules/Ubuntu/Components/Themes/SuruDark/Palette.qml (+2/-2)
modules/Ubuntu/Components/Themes/SuruDark/TabBarStyle.qml (+1/-1)
modules/Ubuntu/Components/Themes/SuruGradient/MainViewStyle.qml (+1/-1)
modules/Ubuntu/Components/Themes/SuruGradient/OptionSelectorStyle.qml (+1/-1)
modules/Ubuntu/Components/Themes/SuruGradient/Palette.qml (+1/-1)
modules/Ubuntu/Components/Themes/SuruGradient/TabBarStyle.qml (+1/-1)
modules/Ubuntu/Components/Toolbar.qml (+1/-1)
modules/Ubuntu/Components/ToolbarButton.qml (+3/-3)
modules/Ubuntu/Components/ToolbarItems.qml (+7/-7)
modules/Ubuntu/Components/UbuntuListView.qml (+10/-3)
modules/Ubuntu/Components/UbuntuListView11.qdoc (+2/-2)
modules/Ubuntu/Components/UbuntuListView11.qml (+1/-1)
modules/Ubuntu/Components/UbuntuNumberAnimation.qml (+4/-4)
modules/Ubuntu/Components/plugin/adapters/alarmsadapter_organizer.cpp (+19/-15)
modules/Ubuntu/Components/plugin/adapters/alarmsadapter_p.h (+33/-12)
modules/Ubuntu/Components/plugin/adapters/dbuspropertywatcher_p.cpp (+0/-226)
modules/Ubuntu/Components/plugin/adapters/dbuspropertywatcher_p.h (+0/-55)
modules/Ubuntu/Components/plugin/alarmmanager_p.cpp (+7/-8)
modules/Ubuntu/Components/plugin/alarmmanager_p.h (+1/-1)
modules/Ubuntu/Components/plugin/alarmmanager_p_p.h (+1/-3)
modules/Ubuntu/Components/plugin/i18n.cpp (+2/-2)
modules/Ubuntu/Components/plugin/inversemouseareatype.cpp (+6/-6)
modules/Ubuntu/Components/plugin/plugin.cpp (+21/-8)
modules/Ubuntu/Components/plugin/plugin.pro (+20/-9)
modules/Ubuntu/Components/plugin/plugin.qrc (+6/-0)
modules/Ubuntu/Components/plugin/privates/listitemdragarea.cpp (+313/-0)
modules/Ubuntu/Components/plugin/privates/listitemdragarea.h (+55/-0)
modules/Ubuntu/Components/plugin/privates/listitemdraghandler.cpp (+86/-0)
modules/Ubuntu/Components/plugin/privates/listitemdraghandler.h (+47/-0)
modules/Ubuntu/Components/plugin/propertychange_p.cpp (+24/-20)
modules/Ubuntu/Components/plugin/propertychange_p.h (+5/-4)
modules/Ubuntu/Components/plugin/shaders/shape.frag (+57/-0)
modules/Ubuntu/Components/plugin/shaders/shape.vert (+43/-0)
modules/Ubuntu/Components/plugin/sortfiltermodel.cpp (+2/-2)
modules/Ubuntu/Components/plugin/statesaverbackend_p.cpp (+2/-0)
modules/Ubuntu/Components/plugin/ucactionpanel_p.cpp (+0/-132)
modules/Ubuntu/Components/plugin/ucalarm.cpp (+4/-2)
modules/Ubuntu/Components/plugin/ucalarmmodel.cpp (+5/-4)
modules/Ubuntu/Components/plugin/ucfontutils.cpp (+4/-4)
modules/Ubuntu/Components/plugin/uclistitem.cpp (+589/-476)
modules/Ubuntu/Components/plugin/uclistitem.h (+101/-52)
modules/Ubuntu/Components/plugin/uclistitem_p.h (+42/-152)
modules/Ubuntu/Components/plugin/uclistitemactions.cpp (+6/-6)
modules/Ubuntu/Components/plugin/uclistitemattached.cpp (+0/-181)
modules/Ubuntu/Components/plugin/uclistitemstyle.cpp (+124/-37)
modules/Ubuntu/Components/plugin/uclistitemstyle.h (+71/-17)
modules/Ubuntu/Components/plugin/ucmousefilters.cpp (+15/-15)
modules/Ubuntu/Components/plugin/ucnamespace.cpp (+48/-0)
modules/Ubuntu/Components/plugin/ucnamespace.h (+36/-0)
modules/Ubuntu/Components/plugin/ucserviceproperties.cpp (+0/-317)
modules/Ubuntu/Components/plugin/ucserviceproperties.h (+0/-83)
modules/Ubuntu/Components/plugin/ucserviceproperties_p.h (+0/-53)
modules/Ubuntu/Components/plugin/ucstatesaver.cpp (+2/-2)
modules/Ubuntu/Components/plugin/ucstyleditembase.cpp (+2/-2)
modules/Ubuntu/Components/plugin/uctheme.cpp (+4/-4)
modules/Ubuntu/Components/plugin/ucubuntushape.cpp (+1202/-820)
modules/Ubuntu/Components/plugin/ucubuntushape.h (+270/-183)
modules/Ubuntu/Components/plugin/ucubuntushapetexture.h (+4/-4)
modules/Ubuntu/Components/plugin/ucunits.cpp (+2/-2)
modules/Ubuntu/Components/plugin/ucviewitemsattached.cpp (+423/-21)
modules/Ubuntu/Components/plugin/unitythemeiconprovider.cpp (+20/-14)
modules/Ubuntu/Components/plugin/unitythemeiconprovider.h (+1/-1)
modules/Ubuntu/Components/qmldir (+6/-0)
modules/Ubuntu/Layouts/plugin/ulitemlayout.cpp (+1/-1)
modules/Ubuntu/PerformanceMetrics/BarGraph.qml (+2/-2)
modules/Ubuntu/PerformanceMetrics/PerformanceOverlay.qml (+1/-1)
modules/Ubuntu/Test/UbuntuTestCase.qml (+9/-2)
modules/Ubuntu/Test/plugin/uctestextras.cpp (+36/-0)
modules/Ubuntu/Test/plugin/uctestextras.h (+2/-0)
push_to_phone.sh (+23/-1)
tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_header.py (+9/-4)
tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_mainview.py (+34/-4)
tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_qquicklistview.py (+22/-0)
tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_uclistitem.py (+6/-0)
tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.header.qml (+34/-0)
tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.py (+24/-6)
tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_header.HeaderInCustomMainViewTestCase.qml (+1/-1)
tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_header.py (+8/-1)
tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_listitem.ListItemTestCase.qml (+3/-4)
tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_listitem.py (+12/-0)
tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_main_view.py (+54/-1)
tests/resources/alarm/AlarmDays.qml (+4/-4)
tests/resources/alarm/Alarms.qml (+55/-43)
tests/resources/header/header.qml (+5/-5)
tests/resources/listitems/ListItemDragging.qml (+189/-0)
tests/resources/listitems/ListItemTest.qml (+70/-21)
tests/resources/navigation/MyDeprecatedPage.qml (+64/-0)
tests/resources/navigation/PageStack.qml (+72/-70)
tests/resources/navigation/StackWithTabs.qml (+4/-31)
tests/resources/navigation/Tabs.qml (+11/-28)
tests/resources/ubuntushape/UbuntuShapeTest.qml (+299/-0)
tests/uitk_test_plan.sh (+30/-3)
tests/unit/runtest.sh (+7/-2)
tests/unit/tst_components/tst_haptics.qml (+52/-0)
tests/unit/tst_performance/ListItemList.qml (+2/-2)
tests/unit/tst_performance/ListOfCaptions.qml (+35/-0)
tests/unit/tst_performance/tst_performance.cpp (+1/-0)
tests/unit_x11/tst_components/tst_alarms.qml (+60/-3)
tests/unit_x11/tst_components/tst_captions.qml (+86/-0)
tests/unit_x11/tst_components/tst_listitem.qml (+658/-130)
tests/unit_x11/tst_components/tst_page_size.qml (+109/-0)
tests/unit_x11/tst_components/tst_popover.qml (+71/-14)
tests/unit_x11/tst_components/tst_textinput_touch.qml (+3/-0)
tests/unit_x11/tst_iconprovider/icons/mockTheme/actions/scalable/battery-100-charging.svg (+25/-0)
tests/unit_x11/tst_iconprovider/icons/mockTheme/index.theme (+17/-0)
tests/unit_x11/tst_iconprovider/tst_iconprovider.cpp (+76/-0)
tests/unit_x11/tst_iconprovider/tst_iconprovider.pro (+5/-0)
tests/unit_x11/tst_serviceproperties/IncomingCallVibrateWatcher.qml (+0/-31)
tests/unit_x11/tst_serviceproperties/InvalidPropertyWatcher.qml (+0/-31)
tests/unit_x11/tst_serviceproperties/InvalidPropertyWatcher2.qml (+0/-32)
tests/unit_x11/tst_serviceproperties/tst_serviceproperties.cpp (+0/-146)
tests/unit_x11/tst_serviceproperties/tst_serviceproperties.pro (+0/-8)
tests/unit_x11/unit_x11.pro (+1/-0)
To merge this branch: bzr merge lp:~bzoltan/ubuntu-ui-toolkit/uitk12_final_vivid_landing
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Needs Fixing
Ubuntu SDK team Pending
Review via email: mp+251578@code.launchpad.net

Commit message

Final UITK 1.2 Landing to Vivid

Description of the change

Final UITK 1.2 Landing to Vivid

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
1429. By Zoltan Balogh

reverted

1430. By Zoltan Balogh

fix changelog

1431. By Zoltan Balogh

move 1.2

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
1432. By Zoltan Balogh

update from staging

1433. By Zoltan Balogh

fixed changelog

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
1434. By Zoltan Balogh

update from staging

1435. By Zoltan Balogh

solves this failure in Autopilot

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
1439. By Zoltan Balogh

disable tst_tabs_with_repeater.deprecated_toolbar.qml tests

1440. By Zoltan Balogh

Ignore unit test failures and warnings

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
1441. By Zoltan Balogh

lp:~zsombi/ubuntu-ui-toolkit/langing-popoverfix

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file '.bzrignore'
2--- .bzrignore 2015-02-02 14:40:18 +0000
3+++ .bzrignore 2015-03-06 08:22:20 +0000
4@@ -2,6 +2,7 @@
5 modules/Makefile.ubuntu-ui-toolkit
6 modules/Ubuntu/Components/Makefile.ubuntu-ui-toolkit
7 modules/Ubuntu/Components/plugin/Makefile.ubuntu-ui-toolkit
8+modules/Ubuntu/Components/plugin/qrc_plugin.cpp
9 documentation/html/*
10 *.moc
11 moc_*.cpp
12
13=== modified file 'components.api'
14--- components.api 2015-02-05 15:36:14 +0000
15+++ components.api 2015-03-06 08:22:20 +0000
16@@ -34,6 +34,11 @@
17 property Gradient gradient
18 property font font
19 property string iconPosition
20+Captions 1.2
21+ColumnLayout
22+ property int captionStyle
23+ property Label title
24+ property Label subtitle
25 CheckBox 0.1 1.0
26 AbstractButton
27 property bool checked
28@@ -62,6 +67,11 @@
29 property string fadeStyle
30 readonly property bool running
31 readonly property int status
32+Haptics 0.1 1.0
33+Object
34+ readonly property bool enabled
35+ property HapticsEffect effect
36+ function play(customEffect)
37 Header 0.1 1.0
38 AppHeader
39 property string _for_autopilot
40@@ -188,6 +198,11 @@
41 MainView 0.1 1.0
42 MainViewBase
43 property bool automaticOrientation
44+ property bool useDeprecatedToolbar
45+ default property internal contentsItem
46+MainView 1.2
47+MainViewBase
48+ property internal automaticOrientation
49 default property internal contentsItem
50 Object 0.1 1.0
51 QtObject
52@@ -676,6 +691,7 @@
53 function mouseLongPress(item, x, y, button, modifiers, delay)
54 function tryCompareFunction(func, expectedResult, timeout)
55 function typeString(string)
56+ function warningFormat(line, column, message)
57 plugins.qmltypes
58 name: "FilterBehavior"
59 prototype: "QObject"
60@@ -693,6 +709,64 @@
61 name: "QAbstractProxyModel"
62 prototype: "QAbstractItemModel"
63 Property { name: "sourceModel"; type: "QAbstractItemModel"; isPointer: true }
64+ name: "QDeclarativeFeedbackActuator"
65+ prototype: "QObject"
66+ exports: ["QtFeedback/Actuator 5.0"]
67+ name: "Capability"
68+ name: "State"
69+ Property { name: "actuatorId"; type: "int"; isReadonly: true }
70+ Property { name: "name"; type: "string"; isReadonly: true }
71+ Property { name: "state"; type: "State"; isReadonly: true }
72+ Property { name: "valid"; type: "bool"; isReadonly: true }
73+ Property { name: "enabled"; type: "bool" }
74+ Method {
75+ name: "isCapabilitySupported"
76+ Parameter { name: "capability"; type: "Capability" }
77+ name: "QDeclarativeFeedbackEffect"
78+ prototype: "QObject"
79+ exports: ["QtFeedback/Feedback 5.0", "QtFeedback/FeedbackEffect 5.0"]
80+ name: "Duration"
81+ name: "State"
82+ name: "ErrorType"
83+ Property { name: "running"; type: "bool" }
84+ Property { name: "paused"; type: "bool" }
85+ Property { name: "duration"; type: "int" }
86+ Property { name: "state"; type: "State" }
87+ Property { name: "error"; type: "ErrorType"; isReadonly: true }
88+ Method { name: "updateState" }
89+ Method { name: "start" }
90+ Method { name: "stop" }
91+ Method { name: "pause" }
92+ name: "QDeclarativeFileEffect"
93+ prototype: "QDeclarativeFeedbackEffect"
94+ exports: ["QtFeedback/FileEffect 5.0"]
95+ Property { name: "loaded"; type: "bool" }
96+ Property { name: "source"; type: "QUrl" }
97+ Property { name: "supportedMimeTypes"; type: "QStringList"; isReadonly: true }
98+ Method { name: "load" }
99+ Method { name: "unload" }
100+ name: "QDeclarativeHapticsEffect"
101+ prototype: "QDeclarativeFeedbackEffect"
102+ exports: ["QtFeedback/HapticsEffect 5.0"]
103+ Property {
104+ name: "availableActuators"
105+ Property { name: "intensity"; type: "double" }
106+ Property { name: "attackTime"; type: "int" }
107+ Property { name: "attackIntensity"; type: "double" }
108+ Property { name: "fadeTime"; type: "int" }
109+ Property { name: "fadeIntensity"; type: "double" }
110+ Property { name: "period"; type: "int" }
111+ Property { name: "actuator"; type: "QDeclarativeFeedbackActuator"; isPointer: true }
112+ name: "QDeclarativeThemeEffect"
113+ prototype: "QObject"
114+ exports: ["QtFeedback/EffectPlayer 5.0", "QtFeedback/ThemeEffect 5.0"]
115+ name: "Effect"
116+ Property { name: "supported"; type: "bool"; isReadonly: true }
117+ Property { name: "effect"; type: "Effect" }
118+ Method { name: "play" }
119+ Method {
120+ name: "play"
121+ Parameter { name: "effect"; type: "Effect" }
122 name: "QSortFilterProxyModel"
123 prototype: "QAbstractProxyModel"
124 Property { name: "filterRegExp"; type: "QRegExp" }
125@@ -725,21 +799,6 @@
126 name: "get"
127 Parameter { name: "row"; type: "int" }
128 Method { name: "count"; type: "int" }
129- name: "ShapeItem"
130- prototype: "QQuickItem"
131- exports: [
132- name: "HAlignment"
133- name: "VAlignment"
134- Property { name: "color"; type: "QColor" }
135- Property { name: "gradientColor"; type: "QColor" }
136- Property { name: "radius"; type: "string" }
137- Property { name: "image"; type: "QVariant" }
138- Property { name: "stretched"; type: "bool" }
139- Property { name: "horizontalAlignment"; type: "HAlignment" }
140- Property { name: "verticalAlignment"; type: "VAlignment" }
141- Property { name: "borderSource"; type: "string" }
142- Signal { name: "borderChanged" }
143- Method { name: "gridUnitChanged" }
144 name: "SortBehavior"
145 prototype: "QObject"
146 exports: ["SortBehavior 1.1"]
147@@ -853,22 +912,34 @@
148 name: "quitWithError"
149 Parameter { name: "errorMessage"; type: "string" }
150 Method { name: "quitWithError" }
151+ name: "UCDragEvent"
152+ prototype: "QObject"
153+ exports: ["ListItemDrag 1.2"]
154+ name: "Status"
155+ Property { name: "status"; type: "Status"; isReadonly: true }
156+ Property { name: "from"; type: "int"; isReadonly: true }
157+ Property { name: "to"; type: "int"; isReadonly: true }
158+ Property { name: "minimumIndex"; type: "int" }
159+ Property { name: "maximumIndex"; type: "int" }
160+ Property { name: "accept"; type: "bool" }
161 name: "UCInverseMouse"
162 prototype: "UCMouse"
163 exports: ["InverseMouse 0.1", "InverseMouse 1.0"]
164 name: "UCListItem"
165 prototype: "UCStyledItemBase"
166 exports: ["ListItem 1.2"]
167- name: "PanelStatus"
168 Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
169 Property { name: "divider"; type: "UCListItemDivider"; isReadonly: true; isPointer: true }
170 Property { name: "leadingActions"; type: "UCListItemActions"; isPointer: true }
171 Property { name: "trailingActions"; type: "UCListItemActions"; isPointer: true }
172 Property { name: "highlighted"; type: "bool"; isReadonly: true }
173- Property { name: "swipeOvershoot"; type: "double" }
174 Property { name: "contentMoving"; type: "bool"; isReadonly: true }
175 Property { name: "color"; type: "QColor" }
176 Property { name: "highlightColor"; type: "QColor" }
177+ Property { name: "dragging"; type: "bool"; isReadonly: true }
178+ Property { name: "dragMode"; type: "bool" }
179+ Property { name: "selected"; type: "bool" }
180+ Property { name: "selectMode"; type: "bool" }
181 Property { name: "action"; type: "UCAction"; isPointer: true }
182 Property { name: "listItemData"; type: "QObject"; isList: true; isReadonly: true }
183 Property { name: "listItemChildren"; type: "QQuickItem"; isList: true; isReadonly: true }
184@@ -884,31 +955,21 @@
185 Property { name: "delegate"; type: "QQmlComponent"; isPointer: true }
186 Property { name: "actions"; type: "UCAction"; isList: true; isReadonly: true }
187 Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
188- name: "UCListItemAttached"
189- prototype: "QObject"
190- Property { name: "actions"; type: "UCListItemActions"; isReadonly: true; isPointer: true }
191- Property { name: "visibleActions"; type: "UCAction"; isList: true; isReadonly: true }
192- Property { name: "item"; type: "UCListItem"; isReadonly: true; isPointer: true }
193- Property { name: "index"; type: "int"; isReadonly: true }
194- Property { name: "panelStatus"; type: "UCListItem::PanelStatus"; isReadonly: true }
195- Method {
196- name: "snapToPosition"
197- Parameter { name: "position"; type: "double" }
198 name: "UCListItemDivider"
199- prototype: "QObject"
200- Property { name: "visible"; type: "bool" }
201- Property { name: "leftMargin"; type: "double" }
202- Property { name: "rightMargin"; type: "double" }
203+ prototype: "QQuickItem"
204 Property { name: "colorFrom"; type: "QColor" }
205 Property { name: "colorTo"; type: "QColor" }
206 name: "UCListItemStyle"
207 prototype: "QQuickItem"
208 exports: ["Ubuntu.Components.Styles/ListItemStyle 1.2"]
209- Property { name: "actionsDelegate"; type: "QQmlComponent"; isPointer: true }
210- Property { name: "selectionDelegate"; type: "QQmlComponent"; isPointer: true }
211- Property { name: "dragHandlerDelegate"; type: "QQmlComponent"; isPointer: true }
212- Property { name: "snapAnimation"; type: "QQuickPropertyAnimation"; isPointer: true }
213- Property { name: "swipeOvershoot"; type: "double" }
214+ Property { name: "snapAnimation"; type: "QQuickAbstractAnimation"; isPointer: true }
215+ Property { name: "dropAnimation"; type: "QQuickPropertyAnimation"; isPointer: true }
216+ Property { name: "animatePanels"; type: "bool"; isReadonly: true }
217+ Property { name: "dragPanel"; type: "QQuickItem"; isPointer: true }
218+ Method {
219+ name: "swipeEvent"
220+ Parameter { name: "event"; type: "UCSwipeEvent"; isPointer: true }
221+ Method { name: "rebound" }
222 name: "UCMouse"
223 prototype: "QObject"
224 exports: ["Mouse 0.1", "Mouse 1.0"]
225@@ -951,6 +1012,10 @@
226 name: "exited"
227 Parameter { name: "event"; type: "QQuickMouseEvent"; isPointer: true }
228 Parameter { name: "host"; type: "QQuickItem"; isPointer: true }
229+ name: "UCNamespace"
230+ prototype: "QObject"
231+ exports: ["Ubuntu 1.2"]
232+ name: "CaptionsStyle"
233 name: "UCQQuickImageExtension"
234 prototype: "QQuickImageBase"
235 exports: ["QQuickImageBase 0.1", "QQuickImageBase 1.0"]
236@@ -984,6 +1049,14 @@
237 name: "requestFocus"
238 Parameter { name: "reason"; type: "Qt::FocusReason" }
239 Method { name: "requestFocus"; revision: 1; type: "bool" }
240+ name: "UCSwipeEvent"
241+ prototype: "QObject"
242+ exports: ["SwipeEvent 1.2"]
243+ name: "Status"
244+ Property { name: "to"; type: "QPointF"; isReadonly: true }
245+ Property { name: "from"; type: "QPointF"; isReadonly: true }
246+ Property { name: "content"; type: "QPointF" }
247+ Property { name: "status"; type: "Status"; isReadonly: true }
248 name: "UCUbuntuAnimation"
249 prototype: "QObject"
250 exports: ["UbuntuAnimation 0.1", "UbuntuAnimation 1.0"]
251@@ -994,6 +1067,46 @@
252 Property { name: "SleepyDuration"; type: "int"; isReadonly: true }
253 Property { name: "StandardEasing"; type: "QEasingCurve"; isReadonly: true }
254 Property { name: "StandardEasingReverse"; type: "QEasingCurve"; isReadonly: true }
255+ name: "UCUbuntuShape"
256+ prototype: "QQuickItem"
257+ exports: [
258+ name: "BackgroundMode"
259+ name: "HAlignment"
260+ name: "VAlignment"
261+ name: "FillMode"
262+ name: "WrapMode"
263+ Property { name: "radius"; type: "string" }
264+ Property { name: "borderSource"; type: "string" }
265+ Property { name: "source"; revision: 1; type: "QVariant" }
266+ Property { name: "sourceOpacity"; revision: 1; type: "float" }
267+ Property { name: "sourceFillMode"; revision: 1; type: "FillMode" }
268+ Property { name: "sourceHorizontalWrapMode"; revision: 1; type: "WrapMode" }
269+ Property { name: "sourceVerticalWrapMode"; revision: 1; type: "WrapMode" }
270+ Property { name: "sourceHorizontalAlignment"; revision: 1; type: "HAlignment" }
271+ Property { name: "sourceVerticalAlignment"; revision: 1; type: "VAlignment" }
272+ Property { name: "sourceTranslation"; revision: 1; type: "QVector2D" }
273+ Property { name: "sourceScale"; revision: 1; type: "QVector2D" }
274+ Property { name: "backgroundColor"; revision: 1; type: "QColor" }
275+ Property { name: "secondaryBackgroundColor"; revision: 1; type: "QColor" }
276+ Property { name: "backgroundMode"; revision: 1; type: "BackgroundMode" }
277+ Property { name: "color"; type: "QColor" }
278+ Property { name: "gradientColor"; type: "QColor" }
279+ Property { name: "image"; type: "QVariant" }
280+ Property { name: "stretched"; type: "bool" }
281+ Property { name: "horizontalAlignment"; type: "HAlignment" }
282+ Property { name: "verticalAlignment"; type: "VAlignment" }
283+ Signal { name: "sourceChanged"; revision: 1 }
284+ Signal { name: "sourceOpacityChanged"; revision: 1 }
285+ Signal { name: "sourceFillModeChanged"; revision: 1 }
286+ Signal { name: "sourceHorizontalWrapModeChanged"; revision: 1 }
287+ Signal { name: "sourceVerticalWrapModeChanged"; revision: 1 }
288+ Signal { name: "sourceHorizontalAlignmentChanged"; revision: 1 }
289+ Signal { name: "sourceVerticalAlignmentChanged"; revision: 1 }
290+ Signal { name: "sourceTranslationChanged"; revision: 1 }
291+ Signal { name: "sourceScaleChanged"; revision: 1 }
292+ Signal { name: "backgroundColorChanged"; revision: 1 }
293+ Signal { name: "secondaryBackgroundColorChanged"; revision: 1 }
294+ Signal { name: "backgroundModeChanged"; revision: 1 }
295 name: "UCUnits"
296 prototype: "QObject"
297 exports: ["UCUnits 0.1", "UCUnits 1.0"]
298@@ -1013,6 +1126,12 @@
299 name: "UCViewItemsAttached"
300 prototype: "QObject"
301 exports: ["ViewItems 1.2"]
302+ Property { name: "selectMode"; type: "bool" }
303+ Property { name: "selectedIndices"; type: "QList<int>" }
304+ Property { name: "dragMode"; type: "bool" }
305+ Signal {
306+ name: "dragUpdated"
307+ Parameter { name: "event"; type: "UCDragEvent"; isPointer: true }
308 name: "UbuntuI18n"
309 prototype: "QObject"
310 exports: ["i18n 0.1", "i18n 1.0"]
311@@ -1056,6 +1175,21 @@
312 name: "tag"
313 Parameter { name: "context"; type: "string" }
314 Parameter { name: "text"; type: "string" }
315+ prototype: "QObject"
316+ name: "Haptics"
317+ exports: ["Haptics -1.-1"]
318+ Property { name: "enabled"; type: "bool"; isReadonly: true }
319+ Property { name: "effect"; type: "QDeclarativeHapticsEffect"; isReadonly: true; isPointer: true }
320+ Method {
321+ name: "play"
322+ Parameter { name: "customEffect"; type: "QVariant" }
323+ Property { name: "__defaultPropertyFix"; type: "QObject"; isList: true; isReadonly: true }
324+ Property { name: "children"; type: "QObject"; isList: true; isReadonly: true }
325+ prototype: "QObject"
326+ name: "Object"
327+ exports: ["Object -1.-1"]
328+ Property { name: "__defaultPropertyFix"; type: "QObject"; isList: true; isReadonly: true }
329+ Property { name: "children"; type: "QObject"; isList: true; isReadonly: true }
330 name: "ULConditionalLayout"
331 prototype: "QObject"
332 exports: ["ConditionalLayout 0.1", "ConditionalLayout 1.0"]
333@@ -1106,6 +1240,8 @@
334 prototype: "QObject"
335 exports: ["TestExtras 1.0"]
336 Property { name: "touchPresent"; type: "bool"; isReadonly: true }
337+ Method { name: "openGLflavor"; type: "string" }
338+ Method { name: "cpuArchitecture"; type: "string" }
339 Method { name: "touchDevicePresent"; type: "bool" }
340 Method { name: "registerTouchDevice" }
341 Method {
342
343=== modified file 'debian/changelog'
344--- debian/changelog 2015-02-16 14:21:57 +0000
345+++ debian/changelog 2015-03-06 08:22:20 +0000
346@@ -1,3 +1,77 @@
347+ubuntu-ui-toolkit (1.2.1433+15.04.20150206-0ubuntu3) UNRELEASED; urgency=medium
348+
349+ [ Albert Astals Cid ]
350+ * Fix infinite icon size grow when asked for a non square icon
351+ Fixes: LP: #1422835
352+ * IconProvider: Make sure icons fit in the given size
353+ [ Christian Dywan ]
354+ * Skip select_text_longtap_when_active under opengles2.
355+ Fixes: LP: #1401140
356+ * Support for multiple devices with push_to_phone.sh.
357+ * Take OrientationHelper y coordinate from real parent height.
358+ Fixes: LP: #1413194
359+ * Update popover position upon pointer movement.
360+ Fixes: LP: #1199502, LP: #1415532
361+ * Change <code> to be inline-block. Fixes LP: #1427534
362+ * Set right anchor on tab overflow buttons. Fixes LP: #1425433
363+ * Add tst_listitems_itemselector.qml to EXCEPTIONS. So warnings are
364+ no longer fatal for unit test.
365+ [ Sebastien Bacher ]
366+ * document that MainView's applicationName is used to set the gettext
367+ domain. Fixes: LP: #1421661.
368+ [ Tiago Salem Herrmann ]
369+ * Drop cache once properties are successfully restored.
370+ [ Timo Jyrinki ]
371+ * Add dist-upgrade option to the UITK Test Plan script. Output the
372+ selected parameters in the beginning.
373+ [ Tim Peeters ]
374+ * Add MainView 1.2 which removes the deprecated toolbar support.
375+ * Enable PageStack header animations for MainView 1.2.
376+ * Fix the size and anchors of a Page that is loaded inside a Loader.
377+ This is useful when a Page is Loaded by a Tab. Fixes: LP: #1424635
378+ * Fix UITK gallery content page width.
379+ Fixes: LP: #1424635, LP: #1425470
380+ * Set objectName for MainView int est_textinput.header.qml and fix
381+ scenarios in test_textinput.py
382+ [ Zsombor Egri ]
383+ * Alarm services regression fix. Fixes: LP: #1401883
384+ * Implement ListItem dragging support in ListView.
385+ Fixes: LP: #119535
386+ * Introducing select/multiselect mode in ListItem.
387+ * Moving the tst_focus.qml under exceptions till we fix DatePicker
388+ binding loops.
389+ * RTL (Right To Left) support in ListItem.
390+ * RTM branch diff merge. Fixes: LP: #1358610.
391+ * Second stage of simplification - divider group property is an item,
392+ simplifying the anchoring of the contentItem. PropertyChange does
393+ not backup the property binding, uses QQmlPropertyPrivate::write()
394+ with parameter to keep bindings. ListItemAnimator uses behavior to
395+ animate snapping. Styling got "styledItem" context property to obey
396+ general styling rules. clicked() and pressAndHold() emission fix
397+ when content is swiped.
398+ * Transferring the ListItem attached properties to ListItemStyle API.
399+ Most of the style API became redundant, and removed. Few API from
400+ ListItem were also removed as not needed. ListItemAnimator,
401+ UCListItemAttached and UCActionPanel classes removed.
402+ Panel swiping overshoot made elastic. Snapping animation transformed
403+ into SmoothedAnimation, uses velocity of 60GU/second. Turning
404+ warnings to be reported in the error property.
405+ SHOW_SERVICEPROPERTIES_WARNINGS environment variable set will
406+ display them in the console. Fixes: LP: #1423203.
407+ * Updating documentation and imports for 1.2 & Vivid (Qt 5.4).
408+ * Captions component dedicated to ListItem layouts, a ColumnLayout
409+ holding two Layouts pre-configurable for fixed or rest of content
410+ filling behavior.
411+ [ Loïc Molinari ]
412+ * Refactored UbuntuShape base component.
413+ The UbuntuShape needed a rework in order to propose more features
414+ while keeping efficiency high and maintenance easy.
415+ Fixes LP: #1396098, LP: #1396101, LP: #1396104, LP: #1396113,
416+ LP: #1396114, LP: #1396119, LP: #1396124, LP: #1396162,
417+ LP: #1396165, LP: #1396168, LP: #1396178
418+
419+ -- Zoltán Balogh <zoltan@bakter.hu> Tue, 03 Mar 2015 15:20:12 +0200
420+
421 ubuntu-ui-toolkit (1.1.1403+15.04.20150206-0ubuntu2) vivid; urgency=medium
422
423 * No-change rebuild against Qt 5.4.0.
424@@ -356,6 +430,34 @@
425
426 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Sun, 02 Nov 2014 13:01:56 +0000
427
428+ubuntu-ui-toolkit (1.1.1298+15.04.20150209~rtm-0ubuntu1) 14.09; urgency=medium
429+
430+ [ Zsombor Egri ]
431+ * isHapticsFeedbackEnabled context property exposed to drive
432+ HapticsFeedback in AbstractButton. (LP: #1391877)
433+ * Haptics singleton component to provide toolkit wide default and
434+ custom feedback functionaity controlled by system settings. (LP:
435+ #1391877)
436+
437+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Mon, 09 Feb 2015 13:10:45 +0000
438+
439+ubuntu-ui-toolkit (1.1.1298+15.04.20150202~rtm-0ubuntu1) 14.09; urgency=medium
440+
441+ [ Tim Peeters ]
442+ * Port "In Progress" translation fix from staging to rtm. (LP:
443+ #1391617, #1081607)
444+
445+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Mon, 02 Feb 2015 09:11:21 +0000
446+
447+ubuntu-ui-toolkit (1.1.1298+15.04.20150116~rtm-0ubuntu1) 14.09; urgency=low
448+
449+ [ Florian Boucault ]
450+ * ActivityIndicator: make its animation rely solely on the rendering
451+ thread so that it does not stop spinning if the main thread is
452+ blocked. (LP: #1411376)
453+
454+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 16 Jan 2015 10:17:50 +0000
455+
456 ubuntu-ui-toolkit (1.1.1298+15.04.20141111.2~rtm-0ubuntu1) 14.09; urgency=low
457
458 [ Ubuntu daily release ]
459
460=== modified file 'debian/control'
461--- debian/control 2015-01-23 18:11:22 +0000
462+++ debian/control 2015-03-06 08:22:20 +0000
463@@ -20,10 +20,12 @@
464 qml-module-qtquick2 | qtdeclarative5-qtquick2-plugin,
465 qml-module-qttest | qtdeclarative5-test-plugin,
466 qml-module-qtquick-window2 | qtdeclarative5-window-plugin,
467+ qml-module-qtquick-layouts,
468 qtdeclarative5-qtfeedback-plugin,
469 qtdeclarative5-unity-action-plugin (>= 1.1.0),
470 qml-module-qtquick-localstorage | qtdeclarative5-localstorage-plugin,
471 qml-module-qt-labs-settings | qtdeclarative5-settings-plugin,
472+ qml-module-qtqml-models2,
473 qtdeclarative5-doc-html,
474 qtwebkit5-doc-html,
475 qtsvg5-doc-html,
476@@ -61,6 +63,7 @@
477 libqt5svg5,
478 qml-module-qtquick2 | qtdeclarative5-qtquick2-plugin,
479 qml-module-qtquick-window2 | qtdeclarative5-window-plugin,
480+ qml-module-qtquick-layouts,
481 qtdeclarative5-qtfeedback-plugin,
482 qtdeclarative5-unity-action-plugin (>= 1.1.0),
483 suru-icon-theme,
484
485=== modified file 'documentation/css/base.css'
486--- documentation/css/base.css 2012-12-20 08:38:03 +0000
487+++ documentation/css/base.css 2015-03-06 08:22:20 +0000
488@@ -37,7 +37,7 @@
489 padding: 10px;
490 font-family: 'Ubuntu Mono', 'Consolas', 'Monaco', 'DejaVu Sans Mono', Courier, monospace;
491 background-color: #fdf6f2;
492- display: block;
493+ display: inline-block;
494 margin-bottom: 10px;
495 -moz-border-radius: 4px;
496 -webkit-border-radius: 4px;
497
498=== modified file 'documentation/docs.sh'
499--- documentation/docs.sh 2014-11-25 16:28:04 +0000
500+++ documentation/docs.sh 2015-03-06 08:22:20 +0000
501@@ -45,8 +45,6 @@
502 qdoc $SRC/ubuntu-ui-toolkit-online-indexes.qdocconf 2> /dev/null
503 echo docs: Cross-referenced done.
504
505-sed -r -i 's@("main-content">)@\1<ul class="breadcrumb">@g' $1/html/*.html
506-sed -r -i 's@(<div class="toc">|<h1 class="title">)@</ul>\1@g' $1/html/*.html
507 sed -r -i 's@(</p>)<p/>@\1@g' $1/html/*.html
508 sed -r -i 's@(<a class="(next|prev)Page" href=".+">)(.+)(</a>)@<li>\1\3\4</li>@g' $1/html/*.html
509 sed -r -i 's@(href="qmlmodule-ubuntu-components0-ubuntu-components-0-1.html">Basic QML Types)@href="overview-ubuntu-sdk.html">Ubuntu User Interface Toolkit@g' $1/html/*.html
510
511=== modified file 'documentation/overview.qdoc'
512--- documentation/overview.qdoc 2014-09-15 12:59:16 +0000
513+++ documentation/overview.qdoc 2015-03-06 08:22:20 +0000
514@@ -20,6 +20,7 @@
515
516 \part General Topics
517 \list
518+ \li \l{ubuntu-whatsnew.html}{What's new in version 1.2?}
519 \li \l{ubuntu-layouts.html}{Layouts} describes a flexible layouting engine
520 to ease the development of responsive user interfaces.
521 \li \l {Resolution Independence} describes the facilities that should be
522@@ -31,11 +32,24 @@
523 \part Basic QML Types
524 Available through:
525 \code
526- import Ubuntu.Components 1.1
527+ import Ubuntu.Components 1.2
528 \endcode
529 \annotatedlist ubuntu
530
531- \part List Items
532+ \part List views, list items
533+ Components with standardized view items, with conditional actions, multiselect
534+ and reordering support on scrollable views. Replaces the Ubuntu.Components.ListItems
535+ module components.
536+
537+ Available through:
538+ \code
539+ import Ubuntu.Components 1.2
540+ \endcode
541+ \annotatedlist ubuntu-listitem
542+
543+ \part List Items module - deprecated
544+ This module contains the old set of list items.
545+
546 Available through:
547 \code
548 import Ubuntu.Components.ListItems 1.0
549@@ -66,7 +80,7 @@
550 \part Theming Elements
551 Available through:
552 \code
553- import Ubuntu.Components 1.1
554+ import Ubuntu.Components 1.2
555 \endcode
556 \annotatedlist theming
557
558@@ -75,28 +89,28 @@
559 Themes must make sure that these interfaces are all implemented.
560 Available through:
561 \code
562- import Ubuntu.Components.Styles 1.1
563+ import Ubuntu.Components.Styles 1.2
564 \endcode
565 \annotatedlist style-api
566
567 \part Resolution Independence Items
568 Available through:
569 \code
570- import Ubuntu.Components 1.1
571+ import Ubuntu.Components 1.2
572 \endcode
573 \annotatedlist resolution-independence
574
575 \part Parsing Command-Line Arguments
576 Available through:
577 \code
578- import Ubuntu.Components 1.1
579+ import Ubuntu.Components 1.2
580 \endcode
581 \annotatedlist ubuntu-commandline
582
583 \part Services
584 Available through:
585 \code
586- import Ubuntu.Components 1.1
587+ import Ubuntu.Components 1.2
588 \endcode
589 \annotatedlist ubuntu-services
590
591@@ -113,9 +127,4 @@
592 import Ubuntu Test 1.0
593 \endcode
594 \annotatedlist ubuntu-test
595-
596- \part Unstable QML Types
597- The following section lists components which will be part of future releases.
598- Their interface is unstable and thus should not be used in production applications.
599- \annotatedlist unstable-ubuntu-listitems
600 */
601
602=== modified file 'documentation/resolution-independence.qdoc'
603--- documentation/resolution-independence.qdoc 2014-04-23 08:50:20 +0000
604+++ documentation/resolution-independence.qdoc 2015-03-06 08:22:20 +0000
605@@ -64,7 +64,7 @@
606
607 Example Usage:
608 \code
609- import Ubuntu.Components 1.1
610+ import Ubuntu.Components 1.2
611
612 Item {
613 width: units.gu(2)
614@@ -79,7 +79,7 @@
615
616 Example Usage:
617 \code
618- import Ubuntu.Components 1.1
619+ import Ubuntu.Components 1.2
620
621 Rectangle {
622 height: units.dp(1)
623@@ -143,7 +143,7 @@
624
625 Example Usage:
626 \code
627- import Ubuntu.Components 1.1
628+ import Ubuntu.Components 1.2
629
630 Label {
631 fontSize: "small"
632
633=== modified file 'documentation/snippets/layouts/SimpleLayout.qml'
634--- documentation/snippets/layouts/SimpleLayout.qml 2014-04-23 08:50:20 +0000
635+++ documentation/snippets/layouts/SimpleLayout.qml 2015-03-06 08:22:20 +0000
636@@ -14,8 +14,8 @@
637 * along with this program. If not, see <http://www.gnu.org/licenses/>.
638 */
639
640-import QtQuick 2.0
641-import Ubuntu.Components 1.1
642+import QtQuick 2.4
643+import Ubuntu.Components 1.2
644 import Ubuntu.Layouts 1.0
645
646 Item {
647
648=== modified file 'documentation/snippets/layouts/layout1.qml'
649--- documentation/snippets/layouts/layout1.qml 2014-04-23 08:50:20 +0000
650+++ documentation/snippets/layouts/layout1.qml 2015-03-06 08:22:20 +0000
651@@ -15,8 +15,8 @@
652 */
653
654 //![0]
655-import QtQuick 2.0
656-import Ubuntu.Components 1.1
657+import QtQuick 2.4
658+import Ubuntu.Components 1.2
659 import Ubuntu.Layouts 1.0
660
661 Item {
662
663=== modified file 'documentation/snippets/layouts/layout2.qml'
664--- documentation/snippets/layouts/layout2.qml 2014-04-23 08:50:20 +0000
665+++ documentation/snippets/layouts/layout2.qml 2015-03-06 08:22:20 +0000
666@@ -15,8 +15,8 @@
667 */
668
669 //![0]
670-import QtQuick 2.0
671-import Ubuntu.Components 1.1
672+import QtQuick 2.4
673+import Ubuntu.Components 1.2
674 import Ubuntu.Layouts 1.0
675
676 Item {
677
678=== modified file 'documentation/snippets/layouts/layout3.qml'
679--- documentation/snippets/layouts/layout3.qml 2014-04-23 08:50:20 +0000
680+++ documentation/snippets/layouts/layout3.qml 2015-03-06 08:22:20 +0000
681@@ -15,8 +15,8 @@
682 */
683
684 //![0]
685-import QtQuick 2.0
686-import Ubuntu.Components 1.1
687+import QtQuick 2.4
688+import Ubuntu.Components 1.2
689 import Ubuntu.Layouts 1.0
690
691 Item {
692
693=== modified file 'documentation/snippets/layouts/layout6.qml'
694--- documentation/snippets/layouts/layout6.qml 2014-04-23 08:50:20 +0000
695+++ documentation/snippets/layouts/layout6.qml 2015-03-06 08:22:20 +0000
696@@ -15,8 +15,8 @@
697 */
698
699 //![0]
700-import QtQuick 2.0
701-import Ubuntu.Components 1.1
702+import QtQuick 2.4
703+import Ubuntu.Components 1.2
704 import Ubuntu.Layouts 1.0
705
706 Item {
707
708=== modified file 'documentation/snippets/layouts/layout7.qml'
709--- documentation/snippets/layouts/layout7.qml 2014-04-23 08:50:20 +0000
710+++ documentation/snippets/layouts/layout7.qml 2015-03-06 08:22:20 +0000
711@@ -15,8 +15,8 @@
712 */
713
714 //![0]
715-import QtQuick 2.0
716-import Ubuntu.Components 1.1
717+import QtQuick 2.4
718+import Ubuntu.Components 1.2
719 import Ubuntu.Layouts 1.0
720
721 Item {
722
723=== modified file 'documentation/snippets/statesaver/ColorChanger.qml'
724--- documentation/snippets/statesaver/ColorChanger.qml 2014-04-23 08:50:20 +0000
725+++ documentation/snippets/statesaver/ColorChanger.qml 2015-03-06 08:22:20 +0000
726@@ -15,8 +15,8 @@
727 */
728
729 //![color-saver]
730-import QtQuick 2.0
731-import Ubuntu.Components 1.1
732+import QtQuick 2.4
733+import Ubuntu.Components 1.2
734
735 Rectangle {
736 id: root
737
738=== modified file 'documentation/snippets/statesaver/MultiplePropertySaver.qml'
739--- documentation/snippets/statesaver/MultiplePropertySaver.qml 2014-04-23 08:50:20 +0000
740+++ documentation/snippets/statesaver/MultiplePropertySaver.qml 2015-03-06 08:22:20 +0000
741@@ -15,8 +15,8 @@
742 */
743
744 //![group-saver]
745-import QtQuick 2.0
746-import Ubuntu.Components 1.1
747+import QtQuick 2.4
748+import Ubuntu.Components 1.2
749
750 Rectangle {
751 id: root
752
753=== modified file 'documentation/snippets/statesaver/PropertyGroupSaver.qml'
754--- documentation/snippets/statesaver/PropertyGroupSaver.qml 2014-04-23 08:50:20 +0000
755+++ documentation/snippets/statesaver/PropertyGroupSaver.qml 2015-03-06 08:22:20 +0000
756@@ -15,8 +15,8 @@
757 */
758
759 //![property-group-saver]
760-import QtQuick 2.0
761-import Ubuntu.Components 1.1
762+import QtQuick 2.4
763+import Ubuntu.Components 1.2
764
765 Rectangle {
766 id: root
767
768=== modified file 'documentation/snippets/statesaver/PropertyGroupSaver2.qml'
769--- documentation/snippets/statesaver/PropertyGroupSaver2.qml 2014-04-23 08:50:20 +0000
770+++ documentation/snippets/statesaver/PropertyGroupSaver2.qml 2015-03-06 08:22:20 +0000
771@@ -15,8 +15,8 @@
772 */
773
774 //![property-group-saver]
775-import QtQuick 2.0
776-import Ubuntu.Components 1.1
777+import QtQuick 2.4
778+import Ubuntu.Components 1.2
779
780 Rectangle {
781 id: root
782
783=== modified file 'documentation/ubuntu-components.qdoc'
784--- documentation/ubuntu-components.qdoc 2014-04-23 08:50:20 +0000
785+++ documentation/ubuntu-components.qdoc 2015-03-06 08:22:20 +0000
786@@ -15,7 +15,7 @@
787 */
788
789 /*!
790- \qmlmodule Ubuntu.Components 1.1
791+ \qmlmodule Ubuntu.Components 1.2
792 \title Basic QML Types
793 \nextpage {Ubuntu User Interface Toolkit}
794 */
795
796=== modified file 'documentation/ubuntu-ui-toolkit-common.qdocconf'
797--- documentation/ubuntu-ui-toolkit-common.qdocconf 2015-01-27 11:27:37 +0000
798+++ documentation/ubuntu-ui-toolkit-common.qdocconf 2015-03-06 08:22:20 +0000
799@@ -1,5 +1,5 @@
800 project = UbuntuUserInterfaceToolkit
801-url = http://developer.ubuntu.com/api/ubuntu-12.10/qml/mobile/
802+url = http://developer.ubuntu.com/api/ubuntu-15.04/qml/mobile/
803 description = Ubuntu User Interface Toolkit Documentation
804 sourcedirs = ./
805 sourcedirs += ../modules/Ubuntu/Components
806@@ -19,7 +19,7 @@
807 excludefiles = $BLD/../modules/Ubuntu/Components/MainView.qml
808 outputdir = $BLD/html
809 outputformats = HTML
810-version = 1.1
811+version = 1.2
812 syntaxhighlighting = true
813 sourceencoding = UTF-8
814 outputencoding = UTF-8
815
816=== added file 'documentation/ubuntu-whatsnew.qdoc'
817--- documentation/ubuntu-whatsnew.qdoc 1970-01-01 00:00:00 +0000
818+++ documentation/ubuntu-whatsnew.qdoc 2015-03-06 08:22:20 +0000
819@@ -0,0 +1,46 @@
820+/*
821+ * Copyright 2015 Canonical Ltd.
822+ *
823+ * This program is free software; you can redistribute it and/or modify
824+ * it under the terms of the GNU Lesser General Public License as published by
825+ * the Free Software Foundation; version 3.
826+ *
827+ * This program is distributed in the hope that it will be useful,
828+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
829+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
830+ * GNU Lesser General Public License for more details.
831+ *
832+ * You should have received a copy of the GNU Lesser General Public License
833+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
834+ */
835+
836+/*!
837+ * \page ubuntu-whatsnew.html ubuntu-whatsnew
838+ * \title What's new in the version 1.2?
839+ *
840+ * Beside the pile of bug fixes we have two major changes in the UI Toolkit version 1.2,
841+ * as follows:
842+ *
843+ * \section3 MainView.useDeprecatedToolbar
844+ * MainView.useDeprecatedToolbar property \b {got removed} and the new header is always
845+ * enabled. If you need to use the old toolbar you can still do that by importing \b
846+ * Ubuntu.Components 1.1.
847+ *
848+ * \section3 A new performant ListItem component
849+ * As of 1.2, a new ListItem component and its attached components were added to the toolkit,
850+ * which gives more flexibility and performance when used with scrollable views like ListView
851+ * or Flickable. Its layout is free, meaning developers can, and have to implement their layout
852+ * themselves. The only helper the toolkit provides is the Captions component, which fulfills
853+ * the two typical use cases, for the two label column title captioning and for the summary
854+ * captions.
855+ *
856+ * \section3 Ubuntu.Components.ListItems module deprecated
857+ * The new ListItem also made the old list items module to be redundant, therefore we marked them
858+ * for deprecation. Which means that your application should migrate to the new ListItem as soon as
859+ * possible. There are few components which were not marked as deprecated, like ThinDivider, Header,
860+ * Expandable and ExpandableColumn were not deprecated.
861+ *
862+ * \section3 UbuntuShape facelift
863+ * There were few properties added and marked to be deprecated as well in UbuntuShape. Some most
864+ * wanted features were added, and optimized.
865+ */
866
867=== modified file 'examples/calculator/calculator.qml'
868--- examples/calculator/calculator.qml 2014-05-13 15:15:57 +0000
869+++ examples/calculator/calculator.qml 2015-03-06 08:22:20 +0000
870@@ -17,7 +17,7 @@
871 */
872
873 import QtQuick 2.0
874-import Ubuntu.Components 1.1
875+import Ubuntu.Components 1.2
876 import Ubuntu.Layouts 1.0
877 import "components"
878 import "components/calculator.js" as Calculator
879
880=== modified file 'examples/calculator/components/DefaultLayout.qml'
881--- examples/calculator/components/DefaultLayout.qml 2014-05-13 15:15:57 +0000
882+++ examples/calculator/components/DefaultLayout.qml 2015-03-06 08:22:20 +0000
883@@ -17,7 +17,7 @@
884 */
885
886 import QtQuick 2.0
887-import Ubuntu.Components 1.1
888+import Ubuntu.Components 1.2
889 import Ubuntu.Layouts 1.0
890
891 Item {
892
893=== modified file 'examples/calculator/components/Functions.qml'
894--- examples/calculator/components/Functions.qml 2014-05-13 15:15:57 +0000
895+++ examples/calculator/components/Functions.qml 2015-03-06 08:22:20 +0000
896@@ -17,7 +17,7 @@
897 */
898
899 import QtQuick 2.0
900-import Ubuntu.Components 1.1
901+import Ubuntu.Components 1.2
902 import Ubuntu.Layouts 1.0
903
904 Grid {
905
906=== modified file 'examples/customtheme/main.qml'
907--- examples/customtheme/main.qml 2014-12-04 07:18:58 +0000
908+++ examples/customtheme/main.qml 2015-03-06 08:22:20 +0000
909@@ -15,7 +15,7 @@
910 */
911
912 import QtQuick 2.0
913-import Ubuntu.Components 1.1
914+import Ubuntu.Components 1.2
915
916 /*!
917 \brief MainView with a Label and Button elements.
918@@ -35,9 +35,6 @@
919 */
920 //automaticOrientation: true
921
922- // Removes the old toolbar and enables new features of the new header.
923- useDeprecatedToolbar: false
924-
925 width: units.gu(100)
926 height: units.gu(75)
927
928
929=== modified file 'examples/customtheme/theme/Palette.qml'
930--- examples/customtheme/theme/Palette.qml 2014-12-04 07:18:58 +0000
931+++ examples/customtheme/theme/Palette.qml 2015-03-06 08:22:20 +0000
932@@ -15,7 +15,7 @@
933 */
934
935 import QtQuick 2.0
936-import Ubuntu.Components 1.1
937+import Ubuntu.Components 1.2
938 import Ubuntu.Components.Themes.SuruDark 1.1 as Suru
939
940 Suru.Palette {
941
942=== modified file 'examples/jokes/jokes.qml'
943--- examples/jokes/jokes.qml 2014-04-23 08:50:20 +0000
944+++ examples/jokes/jokes.qml 2015-03-06 08:22:20 +0000
945@@ -16,7 +16,7 @@
946 */
947
948 import QtQuick 2.0
949-import Ubuntu.Components 1.1
950+import Ubuntu.Components 1.2
951 import QtMultimedia 5.0
952
953 /*!
954
955=== modified file 'examples/locale/locale.qml'
956--- examples/locale/locale.qml 2014-04-23 08:50:20 +0000
957+++ examples/locale/locale.qml 2015-03-06 08:22:20 +0000
958@@ -16,7 +16,7 @@
959 */
960
961 import QtQuick 2.0
962-import Ubuntu.Components 1.1
963+import Ubuntu.Components 1.2
964 import Ubuntu.Components.ListItems 1.0 as ListItem
965
966 /*!
967
968=== modified file 'examples/ubuntu-ui-toolkit-gallery/Buttons.qml'
969--- examples/ubuntu-ui-toolkit-gallery/Buttons.qml 2014-07-30 12:59:34 +0000
970+++ examples/ubuntu-ui-toolkit-gallery/Buttons.qml 2015-03-06 08:22:20 +0000
971@@ -14,8 +14,8 @@
972 * along with this program. If not, see <http://www.gnu.org/licenses/>.
973 */
974
975-import QtQuick 2.0
976-import Ubuntu.Components 1.1
977+import QtQuick 2.4
978+import Ubuntu.Components 1.2
979 import Ubuntu.Components.ListItems 1.0
980
981 Template {
982
983=== modified file 'examples/ubuntu-ui-toolkit-gallery/Colors.qml'
984--- examples/ubuntu-ui-toolkit-gallery/Colors.qml 2014-07-02 11:41:18 +0000
985+++ examples/ubuntu-ui-toolkit-gallery/Colors.qml 2015-03-06 08:22:20 +0000
986@@ -14,8 +14,8 @@
987 * along with this program. If not, see <http://www.gnu.org/licenses/>.
988 */
989
990-import QtQuick 2.2
991-import Ubuntu.Components 1.1
992+import QtQuick 2.4
993+import Ubuntu.Components 1.2
994
995 Template {
996 objectName: "colorsTemplate"
997
998=== modified file 'examples/ubuntu-ui-toolkit-gallery/CrossFadeImage.qml'
999--- examples/ubuntu-ui-toolkit-gallery/CrossFadeImage.qml 2014-07-02 11:11:53 +0000
1000+++ examples/ubuntu-ui-toolkit-gallery/CrossFadeImage.qml 2015-03-06 08:22:20 +0000
1001@@ -14,8 +14,8 @@
1002 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1003 */
1004
1005-import QtQuick 2.0
1006-import Ubuntu.Components 1.1
1007+import QtQuick 2.4
1008+import Ubuntu.Components 1.2
1009
1010 Template {
1011 objectName: "crossFadeImagesTemplate"
1012
1013=== modified file 'examples/ubuntu-ui-toolkit-gallery/Dialog.qml'
1014--- examples/ubuntu-ui-toolkit-gallery/Dialog.qml 2014-07-25 12:55:27 +0000
1015+++ examples/ubuntu-ui-toolkit-gallery/Dialog.qml 2015-03-06 08:22:20 +0000
1016@@ -14,9 +14,9 @@
1017 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1018 */
1019
1020-import QtQuick 2.0
1021-import Ubuntu.Components 1.1
1022-import Ubuntu.Components.Popups 0.1
1023+import QtQuick 2.4
1024+import Ubuntu.Components 1.2
1025+import Ubuntu.Components.Popups 1.0
1026
1027 Template {
1028 objectName: "dialogsTemplate"
1029
1030=== modified file 'examples/ubuntu-ui-toolkit-gallery/ListItemWithLabel.qml'
1031--- examples/ubuntu-ui-toolkit-gallery/ListItemWithLabel.qml 2015-01-05 20:34:54 +0000
1032+++ examples/ubuntu-ui-toolkit-gallery/ListItemWithLabel.qml 2015-03-06 08:22:20 +0000
1033@@ -27,4 +27,5 @@
1034 verticalCenter: parent.verticalCenter
1035 }
1036 }
1037+ onPressAndHold: selectMode = !selectMode
1038 }
1039
1040=== modified file 'examples/ubuntu-ui-toolkit-gallery/ListItems.qml'
1041--- examples/ubuntu-ui-toolkit-gallery/ListItems.qml 2014-07-18 12:12:05 +0000
1042+++ examples/ubuntu-ui-toolkit-gallery/ListItems.qml 2015-03-06 08:22:20 +0000
1043@@ -14,9 +14,9 @@
1044 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1045 */
1046
1047-import QtQuick 2.0
1048-import Ubuntu.Components 1.1 as Toolkit
1049-import Ubuntu.Components.ListItems 0.1 as ListItem
1050+import QtQuick 2.4
1051+import Ubuntu.Components 1.2 as Toolkit
1052+import Ubuntu.Components.ListItems 1.0 as ListItem
1053
1054 Template {
1055 objectName: "listItemsTemplate"
1056
1057=== modified file 'examples/ubuntu-ui-toolkit-gallery/NewListItems.qml'
1058--- examples/ubuntu-ui-toolkit-gallery/NewListItems.qml 2015-01-05 20:55:12 +0000
1059+++ examples/ubuntu-ui-toolkit-gallery/NewListItems.qml 2015-03-06 08:22:20 +0000
1060@@ -34,21 +34,7 @@
1061 // clip the action delegates while swiping left/right
1062 clip: true
1063
1064- ListItemWithLabel {
1065- text: i18n.tr("Basic")
1066- }
1067- ListItemWithLabel {
1068- text: i18n.tr("Colored divider")
1069- divider {
1070- colorFrom: UbuntuColors.red
1071- colorTo: UbuntuColors.green
1072- }
1073- }
1074- ListItemWithLabel {
1075- text: i18n.tr("No divider")
1076- divider.visible: false
1077- }
1078- ListItemWithLabel {
1079+ ListItemWithLabel {
1080 color: UbuntuColors.blue
1081 text: i18n.tr("Colored")
1082 }
1083@@ -56,7 +42,6 @@
1084 text: i18n.tr("Highlight color")
1085 highlightColor: UbuntuColors.orange
1086 // no highlight without clicked() or leading/trailing actions
1087- onClicked: print(i18n.tr("Highlighting list item"))
1088 }
1089
1090 ListItemActions {
1091@@ -97,7 +82,6 @@
1092 }
1093 ListItemWithLabel {
1094 text: i18n.tr("Custom action delegates")
1095- swipeOvershoot: 0
1096 leadingActions: ListItemActions {
1097 actions: [
1098 Action {
1099@@ -141,4 +125,96 @@
1100 }
1101 }
1102 }
1103+
1104+ TemplateSection {
1105+ className: "ListItem"
1106+ title: "Select mode"
1107+
1108+ ListView {
1109+ height: units.gu(20)
1110+ width: parent.width
1111+ clip: true
1112+
1113+ ViewItems.dragMode: ViewItems.selectMode
1114+ ViewItems.onDragUpdated: {
1115+ if (event.status == ListItemDrag.Started) {
1116+ if (model[event.from] == "Immutable")
1117+ event.accept = false;
1118+ return;
1119+ }
1120+ if (model[event.to] == "Immutable") {
1121+ event.accept = false;
1122+ return;
1123+ }
1124+ // No instantaneous updates
1125+ if (event.status == ListItemDrag.Moving) {
1126+ event.accept = false;
1127+ return;
1128+ }
1129+ if (event.status == ListItemDrag.Dropped) {
1130+ var fromItem = model[event.from];
1131+ var list = model;
1132+ list.splice(event.from, 1);
1133+ list.splice(event.to, 0, fromItem);
1134+ model = list;
1135+ }
1136+ }
1137+
1138+ model: [ i18n.tr("Basic"), i18n.tr("Colored divider"), i18n.tr("Immutable"), i18n.tr("No divider") ]
1139+ delegate: ListItemWithLabel {
1140+ text: modelData
1141+ color: dragging ? "lightblue" : "transparent"
1142+ divider {
1143+ colorFrom: modelData == i18n.tr("Colored divider") ? UbuntuColors.red : Qt.rgba(0.0, 0.0, 0.0, 0.0)
1144+ colorTo: modelData == i18n.tr("Colored divider") ? UbuntuColors.green : Qt.rgba(0.0, 0.0, 0.0, 0.0)
1145+ visible: modelData != i18n.tr("No divider")
1146+ }
1147+ }
1148+ }
1149+ }
1150+
1151+ TemplateSection {
1152+ className: "ListItem"
1153+ title: "Drag mode"
1154+
1155+ UbuntuListView {
1156+ height: units.gu(20)
1157+ width: parent.width
1158+ clip: true
1159+ ViewItems.dragMode: true
1160+ ViewItems.onDragUpdated: {
1161+ if (event.status == ListItemDrag.Started) {
1162+ if (model.get(event.from).label == "Immutable")
1163+ event.accept = false;
1164+ return;
1165+ }
1166+ if (model.get(event.to).label == "Immutable") {
1167+ event.accept = false;
1168+ return;
1169+ }
1170+ // Live update as you drag
1171+ if (event.status == ListItemDrag.Moving) {
1172+ model.move(event.from, event.to, 1);
1173+ }
1174+ }
1175+
1176+
1177+ model: ListModel {
1178+ ListElement { label: "Basic" }
1179+ ListElement { label: "Colored divider" }
1180+ ListElement { label: "Immutable" }
1181+ ListElement { label: "No divider" }
1182+ }
1183+
1184+ delegate: ListItemWithLabel {
1185+ text: modelData
1186+ color: dragMode ? "lightblue" : "lightgray"
1187+ divider {
1188+ colorFrom: modelData == i18n.tr("Colored divider") ? UbuntuColors.red : Qt.rgba(0.0, 0.0, 0.0, 0.0)
1189+ colorTo: modelData == i18n.tr("Colored divider") ? UbuntuColors.green : Qt.rgba(0.0, 0.0, 0.0, 0.0)
1190+ visible: modelData != i18n.tr("No divider")
1191+ }
1192+ }
1193+ }
1194+ }
1195 }
1196
1197=== modified file 'examples/ubuntu-ui-toolkit-gallery/ProgressBars.qml'
1198--- examples/ubuntu-ui-toolkit-gallery/ProgressBars.qml 2014-06-17 13:04:52 +0000
1199+++ examples/ubuntu-ui-toolkit-gallery/ProgressBars.qml 2015-03-06 08:22:20 +0000
1200@@ -14,8 +14,8 @@
1201 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1202 */
1203
1204-import QtQuick 2.0
1205-import Ubuntu.Components 1.1
1206+import QtQuick 2.4
1207+import Ubuntu.Components 1.2
1208
1209 Template {
1210 objectName: "progressBarsTemplate"
1211
1212=== modified file 'examples/ubuntu-ui-toolkit-gallery/Styles.qml'
1213--- examples/ubuntu-ui-toolkit-gallery/Styles.qml 2014-07-21 11:14:11 +0000
1214+++ examples/ubuntu-ui-toolkit-gallery/Styles.qml 2015-03-06 08:22:20 +0000
1215@@ -14,7 +14,7 @@
1216 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1217 */
1218
1219-import QtQuick 2.0
1220+import QtQuick 2.4
1221 import Ubuntu.Components 1.1
1222
1223 Template {
1224
1225=== modified file 'examples/ubuntu-ui-toolkit-gallery/UbuntuListViews.qml'
1226--- examples/ubuntu-ui-toolkit-gallery/UbuntuListViews.qml 2014-06-27 06:46:16 +0000
1227+++ examples/ubuntu-ui-toolkit-gallery/UbuntuListViews.qml 2015-03-06 08:22:20 +0000
1228@@ -14,8 +14,8 @@
1229 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1230 */
1231
1232-import QtQuick 2.2
1233-import Ubuntu.Components 1.1
1234+import QtQuick 2.4
1235+import Ubuntu.Components 1.2
1236 import Ubuntu.Components.ListItems 1.0 as ListItem
1237
1238 Template {
1239
1240=== modified file 'examples/ubuntu-ui-toolkit-gallery/UbuntuShape.qml'
1241--- examples/ubuntu-ui-toolkit-gallery/UbuntuShape.qml 2014-11-19 11:10:00 +0000
1242+++ examples/ubuntu-ui-toolkit-gallery/UbuntuShape.qml 2015-03-06 08:22:20 +0000
1243@@ -14,8 +14,8 @@
1244 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1245 */
1246
1247-import QtQuick 2.0
1248-import Ubuntu.Components 0.1
1249+import QtQuick 2.2
1250+import Ubuntu.Components 1.2
1251
1252 Template {
1253 objectName: "ubuntuShapesTemplate"
1254@@ -30,18 +30,17 @@
1255 height: units.gu(8)
1256
1257 UbuntuShape {
1258- objectName: "ubuntushape_color_hex"
1259- color: UbuntuColors.orange
1260- }
1261-
1262- UbuntuShape {
1263- objectName: "ubuntushape_color_lightaubergine"
1264- color: UbuntuColors.lightAubergine
1265- }
1266-
1267- UbuntuShape {
1268- objectName: "ubuntushape_color_darkgray"
1269- color: UbuntuColors.warmGrey
1270+ objectName: "ubuntushape_backgroundcolor_orange"
1271+ backgroundColor: UbuntuColors.orange
1272+ }
1273+
1274+ UbuntuShape {
1275+ objectName: "ubuntushape_verticalgradient"
1276+ backgroundColor: UbuntuColors.lightAubergine
1277+ secondaryBackgroundColor: Qt.rgba(
1278+ UbuntuColors.lightAubergine.r, UbuntuColors.lightAubergine.g,
1279+ UbuntuColors.lightAubergine.b, 0.25)
1280+ backgroundMode: UbuntuShape.VerticalGradient
1281 }
1282 }
1283
1284@@ -51,12 +50,16 @@
1285 height: units.gu(8)
1286
1287 UbuntuShape {
1288- objectName: "ubuntushape_image"
1289+ objectName: "ubuntushape_preserveaspectcrop"
1290+ source: Image { source: "map_icon.png" }
1291+ sourceFillMode: UbuntuShape.PreserveAspectCrop
1292+ }
1293
1294- image: Image {
1295- source: "map_icon.png"
1296- fillMode: Image.PreserveAspectCrop
1297- }
1298+ UbuntuShape {
1299+ objectName: "ubuntushape_pad"
1300+ backgroundColor: UbuntuColors.warmGrey
1301+ source: Image { source: "images.png" }
1302+ sourceFillMode: UbuntuShape.Pad
1303 }
1304 }
1305
1306@@ -68,7 +71,7 @@
1307 UbuntuShape {
1308 objectName: "ubuntushape_radius_small"
1309
1310- color: Theme.palette.normal.foreground
1311+ backgroundColor: Theme.palette.normal.foreground
1312 radius: "small"
1313
1314 Label {
1315@@ -81,7 +84,7 @@
1316
1317 UbuntuShape {
1318 objectName: "ubuntushape_radius_medium"
1319- color: Theme.palette.normal.foreground
1320+ backgroundColor: Theme.palette.normal.foreground
1321 radius: "medium"
1322
1323 Label {
1324@@ -100,7 +103,7 @@
1325
1326 UbuntuShape {
1327 objectName: "ubuntushape_sizes_15_6"
1328- color: Theme.palette.normal.foreground
1329+ backgroundColor: Theme.palette.normal.foreground
1330 width: units.gu(15)
1331 height: units.gu(6)
1332 anchors.verticalCenter: parent.verticalCenter
1333@@ -108,7 +111,7 @@
1334
1335 UbuntuShape {
1336 objectName: "ubuntushape_sizes_10_14"
1337- color: Theme.palette.normal.foreground
1338+ backgroundColor: Theme.palette.normal.foreground
1339 width: units.gu(10)
1340 height: units.gu(14)
1341 }
1342
1343=== modified file 'examples/ubuntu-ui-toolkit-gallery/ubuntu-ui-toolkit-gallery.qml'
1344--- examples/ubuntu-ui-toolkit-gallery/ubuntu-ui-toolkit-gallery.qml 2014-09-20 06:04:39 +0000
1345+++ examples/ubuntu-ui-toolkit-gallery/ubuntu-ui-toolkit-gallery.qml 2015-03-06 08:22:20 +0000
1346@@ -14,8 +14,8 @@
1347 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1348 */
1349
1350-import QtQuick 2.0
1351-import Ubuntu.Components 1.1
1352+import QtQuick 2.4
1353+import Ubuntu.Components 1.1 // keep 1.1 till we remove the deprecated toolbar and toolbar in general
1354 import Ubuntu.Components.ListItems 0.1 as ListItem
1355
1356 MainView {
1357
1358=== modified file 'examples/unit-converter/unit-converter.qml'
1359--- examples/unit-converter/unit-converter.qml 2014-04-23 08:50:20 +0000
1360+++ examples/unit-converter/unit-converter.qml 2015-03-06 08:22:20 +0000
1361@@ -14,8 +14,8 @@
1362 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1363 */
1364
1365-import QtQuick 2.0
1366-import Ubuntu.Components 1.1
1367+import QtQuick 2.4
1368+import Ubuntu.Components 1.2
1369 import "conversion.js" as Converter
1370
1371 /*!
1372
1373=== modified file 'modules/Ubuntu/Components/10/Button.qml'
1374--- modules/Ubuntu/Components/10/Button.qml 2014-07-29 14:42:56 +0000
1375+++ modules/Ubuntu/Components/10/Button.qml 2015-03-06 08:22:20 +0000
1376@@ -14,8 +14,8 @@
1377 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1378 */
1379
1380-import QtQuick 2.0
1381-import Ubuntu.Components 1.0
1382+import QtQuick 2.4
1383+import Ubuntu.Components 1.2
1384
1385 /*!
1386 \internal
1387
1388=== modified file 'modules/Ubuntu/Components/10/UbuntuColors10.qml'
1389--- modules/Ubuntu/Components/10/UbuntuColors10.qml 2014-09-03 08:17:24 +0000
1390+++ modules/Ubuntu/Components/10/UbuntuColors10.qml 2015-03-06 08:22:20 +0000
1391@@ -15,7 +15,7 @@
1392 */
1393
1394 pragma Singleton
1395-import QtQuick 2.2
1396+import QtQuick 2.4
1397
1398 /*!
1399 \internal
1400
1401=== modified file 'modules/Ubuntu/Components/11/Button.qml'
1402--- modules/Ubuntu/Components/11/Button.qml 2014-07-28 19:27:17 +0000
1403+++ modules/Ubuntu/Components/11/Button.qml 2015-03-06 08:22:20 +0000
1404@@ -14,8 +14,8 @@
1405 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1406 */
1407
1408-import QtQuick 2.2
1409-import Ubuntu.Components 1.1
1410+import QtQuick 2.4
1411+import Ubuntu.Components 1.2
1412
1413 /*!
1414 \qmltype Button
1415
1416=== added file 'modules/Ubuntu/Components/11/Haptics.qml'
1417--- modules/Ubuntu/Components/11/Haptics.qml 1970-01-01 00:00:00 +0000
1418+++ modules/Ubuntu/Components/11/Haptics.qml 2015-03-06 08:22:20 +0000
1419@@ -0,0 +1,181 @@
1420+/*
1421+ * Copyright 2014 Canonical Ltd.
1422+ *
1423+ * This program is free software; you can redistribute it and/or modify
1424+ * it under the terms of the GNU Lesser General Public License as published by
1425+ * the Free Software Foundation; version 3.
1426+ *
1427+ * This program is distributed in the hope that it will be useful,
1428+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
1429+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1430+ * GNU Lesser General Public License for more details.
1431+ *
1432+ * You should have received a copy of the GNU Lesser General Public License
1433+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
1434+ */
1435+
1436+pragma Singleton
1437+import QtQuick 2.4
1438+import QtFeedback 5.0
1439+import Ubuntu.Components 1.2
1440+
1441+/*!
1442+ \qmltype Haptics
1443+ \inqmlmodule Ubuntu.Components 1.1
1444+ \ingroup ubuntu-services
1445+ \brief Singleton defining the haptics feedback used in components, where execution
1446+ of the feedback is controlled by the system settings.
1447+
1448+ Supports global feedback as well as custom feedback. Global feedback can be
1449+ configured through its properties, and \l play function will play the default
1450+ configuration, or a custom one if parameter is given.
1451+
1452+ Example of using Haptics:
1453+ \qml
1454+ import QtQuick 2.4
1455+ import Ubuntu.Components 1.2
1456+
1457+ Item {
1458+ implicitWidth: units.gu(20)
1459+ implicitHeight: units.gu(5)
1460+
1461+ Label {
1462+ text: "Press me"
1463+ anchors.fill: parent
1464+ horizontalAlignment: Text.AlignHCenter
1465+ verticalAlignment: Text.AlignVCenter
1466+ }
1467+ MouseArea {
1468+ anchors.fill: parent
1469+ onClicked: Haptics.play()
1470+ }
1471+ }
1472+ \endqml
1473+
1474+ Custom effects can be played as follows:
1475+ \qml
1476+ import QtQuick 2.4
1477+ import Ubuntu.Components 1.2
1478+
1479+ Item {
1480+ implicitWidth: units.gu(20)
1481+ implicitHeight: units.gu(5)
1482+
1483+ Label {
1484+ text: "Press me"
1485+ anchors.fill: parent
1486+ horizontalAlignment: Text.AlignHCenter
1487+ verticalAlignment: Text.AlignVCenter
1488+ }
1489+ MouseArea {
1490+ anchors.fill: parent
1491+ onClicked: Haptics.play({duration: 25, attackIntensity: 0.7})
1492+ }
1493+ }
1494+ \endqml
1495+
1496+ \note Though the \l effect property exposes \c start, \c stop and \c pause
1497+ functions, use those only if you want to have feedback independent on what the
1498+ system setting is.
1499+ */
1500+Object {
1501+
1502+ /*!
1503+ \qmlproperty bool enabled
1504+ \readonly
1505+ The property specifies whether the haptics feedback is enabled or not by the system.
1506+ */
1507+ readonly property alias enabled: vibra.otherVibrate
1508+
1509+ /*!
1510+ \qmlproperty HapticsEffect effect
1511+ The property defines the settings of the haptics effect used by the component.
1512+ The default setting is a haptics effect with a duration of 10 milliseconds
1513+ with an intensity of 1.0, having fading time of 50 millisecods and fading
1514+ intensity 0.0, and attack time of 50 milliseconds and with an intensity of
1515+ 0.0.
1516+ */
1517+ property alias effect: effect
1518+
1519+ /*!
1520+ \qmlmethod play([customEffect])
1521+ The function plays the feedback with the configuration specified in \l effect
1522+ if no parameter is given. Custom effect can be played by specifying the effect
1523+ properties in a JSON object in \c customEffect.
1524+
1525+ The function will exit unconditionaly if playing the effects is blocked by
1526+ system settings.
1527+
1528+ The function will not stop any ongoing haptics effect played, if that one
1529+ was a default haptics effect. In case of custom effects, the previous effect
1530+ will be stopped, and settings will be restored before the new haptics will
1531+ be played. The custom settings properties (the ones which are required to
1532+ be different from the ones defined in the \l effect) must be specified in
1533+ the parameter in a JSON object.
1534+ */
1535+ function play(customEffect) {
1536+ if (!vibra.otherVibrate) {
1537+ return;
1538+ }
1539+ if (effectData.data) {
1540+ // we have a custom effect playing, stop it
1541+ effect.stop();
1542+ }
1543+ if (effect.running) {
1544+ // this is a global effect, leave
1545+ return;
1546+ }
1547+ if (customEffect) {
1548+ effectData.backup(customEffect);
1549+ }
1550+ effect.start();
1551+ }
1552+
1553+ QtObject {
1554+ id: effectData
1555+ property var data
1556+
1557+ function backup(customEffect) {
1558+ data = customEffect;
1559+ for (var p in data) {
1560+ var value = data[p];
1561+ data[p] = effect[p];
1562+ effect[p] = value;
1563+ }
1564+ }
1565+ function restore() {
1566+ for (var p in data) {
1567+ effect[p] = data[p];
1568+ }
1569+ data = undefined;
1570+ }
1571+ }
1572+
1573+ // local feedback component used to play feedback
1574+ HapticsEffect {
1575+ id: effect
1576+ attackIntensity: 0.0
1577+ attackTime: 50
1578+ intensity: 1.0
1579+ duration: 10
1580+ fadeTime: 50
1581+ fadeIntensity: 0.0
1582+
1583+ onStateChanged: {
1584+ if (state == HapticsEffect.Stopped) {
1585+ effectData.restore();
1586+ }
1587+ }
1588+ }
1589+
1590+ // watch system settings for otherVibrate
1591+ ServiceProperties {
1592+ objectName: "system_effect_settings"
1593+ id: vibra
1594+ service: "org.freedesktop.Accounts"
1595+ serviceInterface: "org.freedesktop.Accounts"
1596+ path: "/org/freedesktop/Accounts"
1597+ adaptorInterface: "com.ubuntu.touch.AccountsService.Sound"
1598+ property bool otherVibrate: true
1599+ }
1600+}
1601
1602=== modified file 'modules/Ubuntu/Components/11/UbuntuColors.qml'
1603--- modules/Ubuntu/Components/11/UbuntuColors.qml 2014-09-03 08:17:24 +0000
1604+++ modules/Ubuntu/Components/11/UbuntuColors.qml 2015-03-06 08:22:20 +0000
1605@@ -15,7 +15,7 @@
1606 */
1607
1608 pragma Singleton
1609-import QtQuick 2.2
1610+import QtQuick 2.4
1611
1612 /*!
1613 \qmltype UbuntuColors
1614
1615=== modified file 'modules/Ubuntu/Components/AbstractButton.qml'
1616--- modules/Ubuntu/Components/AbstractButton.qml 2014-12-03 14:43:27 +0000
1617+++ modules/Ubuntu/Components/AbstractButton.qml 2015-03-06 08:22:20 +0000
1618@@ -14,9 +14,8 @@
1619 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1620 */
1621
1622-import QtQuick 2.0
1623-import QtFeedback 5.0
1624-import Ubuntu.Components 1.1
1625+import QtQuick 2.4
1626+import Ubuntu.Components 1.2
1627
1628 /*!
1629 \qmlabstract AbstractButton
1630@@ -83,16 +82,6 @@
1631
1632 activeFocusOnPress: true
1633
1634- HapticsEffect {
1635- id: pressEffect
1636- attackIntensity: 0.0
1637- attackTime: 50
1638- intensity: 1.0
1639- duration: 10
1640- fadeTime: 50
1641- fadeIntensity: 0.0
1642- }
1643-
1644 MouseArea {
1645 id: mouseArea
1646 anchors.fill: parent
1647@@ -100,9 +89,14 @@
1648 // as it might occlude the newly assigned mouse area.
1649 hoverEnabled: true
1650
1651+ // invoke Haptics singleton earlier than we press the button,
1652+ // so we give some time for the singleton to sync settings with the service
1653+ property bool hapticsEnabled: Haptics.enabled
1654+
1655 onClicked: {
1656 if (button.__acceptEvents) {
1657- pressEffect.start()
1658+ // FIXME (Vivid) call this in the style rather than from AbstractButton
1659+ Haptics.play();
1660 button.clicked()
1661 }
1662 }
1663
1664=== modified file 'modules/Ubuntu/Components/ActionItem.qml'
1665--- modules/Ubuntu/Components/ActionItem.qml 2014-08-31 19:24:19 +0000
1666+++ modules/Ubuntu/Components/ActionItem.qml 2015-03-06 08:22:20 +0000
1667@@ -14,8 +14,8 @@
1668 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1669 */
1670
1671-import QtQuick 2.2
1672-import Ubuntu.Components 1.1
1673+import QtQuick 2.4
1674+import Ubuntu.Components 1.2
1675
1676 /*!
1677 \qmlabstract ActionItem
1678
1679=== modified file 'modules/Ubuntu/Components/ActionList.qml'
1680--- modules/Ubuntu/Components/ActionList.qml 2014-08-31 19:24:19 +0000
1681+++ modules/Ubuntu/Components/ActionList.qml 2015-03-06 08:22:20 +0000
1682@@ -14,8 +14,8 @@
1683 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1684 */
1685
1686-import QtQuick 2.2
1687-import Ubuntu.Components 1.1
1688+import QtQuick 2.4
1689+import Ubuntu.Components 1.2
1690
1691 /*!
1692 \qmltype ActionList
1693
1694=== modified file 'modules/Ubuntu/Components/ActivityIndicator.qml'
1695--- modules/Ubuntu/Components/ActivityIndicator.qml 2014-11-18 11:38:59 +0000
1696+++ modules/Ubuntu/Components/ActivityIndicator.qml 2015-03-06 08:22:20 +0000
1697@@ -14,7 +14,7 @@
1698 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1699 */
1700
1701-import QtQuick 2.0
1702+import QtQuick 2.4
1703
1704 /*!
1705 \qmltype ActivityIndicator
1706
1707=== modified file 'modules/Ubuntu/Components/AnimatedItem.qml'
1708--- modules/Ubuntu/Components/AnimatedItem.qml 2014-11-18 12:02:55 +0000
1709+++ modules/Ubuntu/Components/AnimatedItem.qml 2015-03-06 08:22:20 +0000
1710@@ -24,7 +24,7 @@
1711
1712 */
1713
1714-import QtQuick 2.0
1715+import QtQuick 2.4
1716
1717 StyledItem {
1718 id: root
1719
1720=== modified file 'modules/Ubuntu/Components/AppHeader.qml'
1721--- modules/Ubuntu/Components/AppHeader.qml 2014-11-18 11:38:59 +0000
1722+++ modules/Ubuntu/Components/AppHeader.qml 2015-03-06 08:22:20 +0000
1723@@ -14,8 +14,8 @@
1724 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1725 */
1726
1727-import QtQuick 2.0
1728-import Ubuntu.Components 1.1 as Components
1729+import QtQuick 2.4
1730+import Ubuntu.Components 1.2 as Components
1731
1732 /*!
1733 \internal
1734
1735=== added file 'modules/Ubuntu/Components/Captions.qml'
1736--- modules/Ubuntu/Components/Captions.qml 1970-01-01 00:00:00 +0000
1737+++ modules/Ubuntu/Components/Captions.qml 2015-03-06 08:22:20 +0000
1738@@ -0,0 +1,150 @@
1739+/*
1740+ * Copyright 2015 Canonical Ltd.
1741+ *
1742+ * This program is free software; you can redistribute it and/or modify
1743+ * it under the terms of the GNU Lesser General Public License as published by
1744+ * the Free Software Foundation; version 3.
1745+ *
1746+ * This program is distributed in the hope that it will be useful,
1747+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
1748+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1749+ * GNU Lesser General Public License for more details.
1750+ *
1751+ * You should have received a copy of the GNU Lesser General Public License
1752+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
1753+ */
1754+
1755+import QtQuick 2.4
1756+import QtQuick.Layouts 1.1
1757+import Ubuntu.Components 1.2
1758+
1759+/*!
1760+ \qmltype Captions
1761+ \inqmlmodule Ubuntu.Components 1.2
1762+ \ingroup ubuntu-listitem
1763+ \since Ubuntu.Components 1.2
1764+ \brief Container providing captionStyles for a twin-label column that can be used in
1765+ RowLayout or GridLayout.
1766+
1767+ The labels are placed in a column and can be accessed through \l title and
1768+ \l subtitle properties. The default spacing between the labels is 0.5 grid units.
1769+
1770+ The container only shows the labels which has its text property set to a valid
1771+ string. The labels not having any text set are not occupying the space. When
1772+ embedded in a positioner or in a RowLayout, the container is aligned vertically
1773+ centered. It is recommended to be used in context with RowLayout or GridLayout,
1774+ however can be used with any component.
1775+
1776+ \qml
1777+ import QtQuick 2.4
1778+ import Ubuntu.Components 1.2
1779+
1780+ ListItem {
1781+ RowLayout {
1782+ Captions {
1783+ title.text: "Caption"
1784+ subtitle.text: "Subtitle text"
1785+ // attached properties of an Item type property
1786+ // can be changed only with assignment
1787+ Component.onCompleted: subtitle.Layout.alignment = Qt.AlignRight
1788+ }
1789+ Captions {
1790+ captionStyle: Ubuntu.SummaryCaptionStyle
1791+ title.text: "Text"
1792+ subtitle.text: "Text"
1793+ }
1794+ }
1795+ }
1796+ \endqml
1797+
1798+ Additional items can also be added to the layout after the two labels.
1799+ \qml
1800+ Captions {
1801+ title.text: "Caption"
1802+ subtitle.text: "Subtitle"
1803+ Label {
1804+ text: "third line"
1805+ fontSize: "xx-small"
1806+ }
1807+ }
1808+ \endqml
1809+ */
1810+ColumnLayout {
1811+ id: captions
1812+
1813+ /*!
1814+ \qmlproperty enumeration captionStyle
1815+ The property configures the arrangement and font sizes of the Labels in the
1816+ component. It can take the following values:
1817+ \list
1818+ \li \b Ubuntu.TitleCaptionStyle - (default) typical configuration for a left aligned
1819+ twin-label setup, where the text covers the remaining area on a list
1820+ layout.
1821+ \li \b Ubuntu.SummaryCaptionStyle - configuration for a right-aligned twin label setup,
1822+ with 6 grid units width.
1823+ \endlist
1824+ */
1825+ property int captionStyle: Ubuntu.TitleCaptionStyle
1826+
1827+ /*!
1828+ \qmlproperty Label title
1829+ \readonly
1830+ Label occupying the top area of the container.
1831+ */
1832+ property alias title: titleLabel
1833+
1834+ /*!
1835+ \qmlproperty Label subtitle
1836+ \readonly
1837+ Label occupying the bottom area of the container.
1838+ */
1839+ property alias subtitle: subtitleLabel
1840+
1841+ clip: true
1842+ spacing: units.gu(0.5)
1843+ Layout.fillWidth: (captionStyle == Ubuntu.TitleCaptionStyle)
1844+ Layout.alignment: Qt.AlignVCenter | ((captionStyle == Ubuntu.SummaryCaptionStyle) ? Qt.AlignRight : Qt.AlignLeft)
1845+ Layout.minimumWidth: 0
1846+ Layout.maximumWidth: (captionStyle == Ubuntu.SummaryCaptionStyle) ? units.gu(6) : parent.width
1847+ Layout.preferredWidth: (captionStyle == Ubuntu.SummaryCaptionStyle) ? Layout.maximumWidth : 0
1848+ Layout.minimumHeight: 0
1849+ Layout.maximumHeight: parent ? parent.height : childrenRect.height
1850+ Layout.preferredHeight: childrenRect.height
1851+
1852+ // handle visibility, do not override visible property!
1853+ // 'hide' column if title and subtitle is an empty string and
1854+ // there's no more children added
1855+ states: State {
1856+ name: "__q_invisible"
1857+ when: (title.text === "" && subtitle.text === "") && (captions.children.length == 2)
1858+ PropertyChanges {
1859+ target: captions
1860+ visible: false
1861+ }
1862+ }
1863+
1864+ Label {
1865+ id: titleLabel
1866+ anchors {
1867+ left: parent.left
1868+ right: parent.right
1869+ }
1870+ fontSize: (captionStyle == Ubuntu.SummaryCaptionStyle) ? "small" : "medium"
1871+ horizontalAlignment: (captionStyle == Ubuntu.SummaryCaptionStyle) ? Text.AlignRight : Text.AlignLeft
1872+ visible: text !== ""
1873+ elide: (captionStyle == Ubuntu.TitleCaptionStyle) ? Text.ElideRight : Text.ElideNone
1874+ }
1875+ Label {
1876+ id: subtitleLabel
1877+ anchors {
1878+ left: parent.left
1879+ right: parent.right
1880+ }
1881+ fontSize: "small"
1882+ horizontalAlignment: (captionStyle == Ubuntu.SummaryCaptionStyle) ? Text.AlignRight : Text.AlignLeft
1883+ visible: text !== ""
1884+ maximumLineCount: (captionStyle == Ubuntu.TitleCaptionStyle) ? 2 : 1
1885+ wrapMode: (captionStyle == Ubuntu.TitleCaptionStyle) ? Text.Wrap : Text.NoWrap
1886+ elide: (captionStyle == Ubuntu.TitleCaptionStyle) ? Text.ElideRight : Text.ElideNone
1887+ }
1888+}
1889
1890=== modified file 'modules/Ubuntu/Components/CheckBox.qml'
1891--- modules/Ubuntu/Components/CheckBox.qml 2014-11-18 11:38:59 +0000
1892+++ modules/Ubuntu/Components/CheckBox.qml 2015-03-06 08:22:20 +0000
1893@@ -14,7 +14,7 @@
1894 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1895 */
1896
1897-import QtQuick 2.0
1898+import QtQuick 2.4
1899
1900 /*!
1901 \qmltype CheckBox
1902
1903=== modified file 'modules/Ubuntu/Components/ComboButton.qml'
1904--- modules/Ubuntu/Components/ComboButton.qml 2014-08-18 16:02:33 +0000
1905+++ modules/Ubuntu/Components/ComboButton.qml 2015-03-06 08:22:20 +0000
1906@@ -14,7 +14,7 @@
1907 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1908 */
1909
1910-import QtQuick 2.0
1911+import QtQuick 2.4
1912 import Ubuntu.Components.Popups 1.0
1913 import "mathUtils.js" as MathUtils
1914
1915@@ -41,8 +41,8 @@
1916 \li If the content height is smaller than the value of \l expandedHeight, the combo
1917 list will be expanded only to the height of the content.
1918 \qml
1919- import QtQuick 2.0
1920- import Ubuntu.Components 1.1
1921+ import QtQuick 2.4
1922+ import Ubuntu.Components 1.2
1923 ComboButton {
1924 text: "smaller content"
1925 Rectangle {
1926@@ -57,8 +57,8 @@
1927 GridView or PathView, the content scrolling will be provided by the content
1928 itself.
1929 \qml
1930- import QtQuick 2.0
1931- import Ubuntu.Components 1.1
1932+ import QtQuick 2.4
1933+ import Ubuntu.Components 1.2
1934 ComboButton {
1935 text: "long scrolled content"
1936 Column {
1937@@ -76,8 +76,8 @@
1938 \li In case the content is a single Flickable, ListView, GridView or PathView,
1939 the content will be filling the entire combo list area defined.
1940 \qml
1941- import QtQuick 2.0
1942- import Ubuntu.Components 1.1
1943+ import QtQuick 2.4
1944+ import Ubuntu.Components 1.2
1945 import Ubuntu.Components.ListItems 1.0
1946 ComboButton {
1947 text: "listview"
1948@@ -94,8 +94,8 @@
1949 If the content wants to take the size of the entire combo list, it should
1950 bind its height to the \l comboListHeight property.
1951 \qml
1952- import QtQuick 2.0
1953- import Ubuntu.Components 1.1
1954+ import QtQuick 2.4
1955+ import Ubuntu.Components 1.2
1956 ComboButton {
1957 id: combo
1958 text: "smaller content"
1959@@ -108,8 +108,8 @@
1960 \li In case the expansion needs to be the size of the combo list content, the \l
1961 expandedHeight should be set to -1.
1962 \qml
1963- import QtQuick 2.0
1964- import Ubuntu.Components 1.1
1965+ import QtQuick 2.4
1966+ import Ubuntu.Components 1.2
1967 ComboButton {
1968 text: "auto-sized content"
1969 expandedHeight: -1
1970@@ -134,8 +134,8 @@
1971 example illustrates a possible implementation.
1972
1973 \qml
1974- import QtQuick 2.0
1975- import Ubuntu.Components 1.1
1976+ import QtQuick 2.4
1977+ import Ubuntu.Components 1.2
1978
1979 ComboButton {
1980 id: combo
1981@@ -201,8 +201,8 @@
1982 \l expandedHeight and \l collapsedHeight values. It is a convenience property
1983 that can be used to size the combo list content.
1984 \qml
1985- import QtQuick 2.0
1986- import Ubuntu.Components 1.1
1987+ import QtQuick 2.4
1988+ import Ubuntu.Components 1.2
1989 import Ubuntu.Components.ListItems 0.1
1990 ComboButton {
1991 id: combo
1992
1993=== modified file 'modules/Ubuntu/Components/CrossFadeImage.qdoc'
1994--- modules/Ubuntu/Components/CrossFadeImage.qdoc 2014-06-30 12:00:10 +0000
1995+++ modules/Ubuntu/Components/CrossFadeImage.qdoc 2015-03-06 08:22:20 +0000
1996@@ -4,8 +4,8 @@
1997 \brief An Image like component which smoothly fades when its source is updated.
1998
1999 \qml
2000- import QtQuick 2.0
2001- import Ubuntu.Components 1.1
2002+ import QtQuick 2.4
2003+ import Ubuntu.Components 1.2
2004
2005 CrossFadeImage {
2006 width: units.gu(100)
2007
2008=== modified file 'modules/Ubuntu/Components/CrossFadeImage10.qml'
2009--- modules/Ubuntu/Components/CrossFadeImage10.qml 2014-07-01 10:56:08 +0000
2010+++ modules/Ubuntu/Components/CrossFadeImage10.qml 2015-03-06 08:22:20 +0000
2011@@ -14,12 +14,12 @@
2012 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2013 */
2014
2015-import QtQuick 2.0
2016+import QtQuick 2.4
2017 // FIXME: When a module contains QML, C++ and JavaScript elements exported,
2018 // we need to use named imports otherwise namespace collision is reported
2019 // by the QML engine. As workaround, we use Ubuntu named import.
2020 // Bug to watch: https://bugreports.qt-project.org/browse/QTBUG-27645
2021-import Ubuntu.Components 1.1 as Ubuntu
2022+import Ubuntu.Components 1.2 as Ubuntu
2023
2024 /*!
2025 \internal
2026
2027=== modified file 'modules/Ubuntu/Components/CrossFadeImage11.qml'
2028--- modules/Ubuntu/Components/CrossFadeImage11.qml 2014-07-02 13:51:07 +0000
2029+++ modules/Ubuntu/Components/CrossFadeImage11.qml 2015-03-06 08:22:20 +0000
2030@@ -14,12 +14,12 @@
2031 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2032 */
2033
2034-import QtQuick 2.0
2035+import QtQuick 2.4
2036 // FIXME: When a module contains QML, C++ and JavaScript elements exported,
2037 // we need to use named imports otherwise namespace collision is reported
2038 // by the QML engine. As workaround, we use Ubuntu named import.
2039 // Bug to watch: https://bugreports.qt-project.org/browse/QTBUG-27645
2040-import Ubuntu.Components 1.1 as Ubuntu
2041+import Ubuntu.Components 1.2 as Ubuntu
2042
2043 /*!
2044 \internal
2045
2046=== modified file 'modules/Ubuntu/Components/DraggingArea.qml'
2047--- modules/Ubuntu/Components/DraggingArea.qml 2013-02-26 10:30:04 +0000
2048+++ modules/Ubuntu/Components/DraggingArea.qml 2015-03-06 08:22:20 +0000
2049@@ -14,7 +14,7 @@
2050 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2051 */
2052
2053-import QtQuick 2.0
2054+import QtQuick 2.4
2055 import "mathUtils.js" as MathLocal
2056
2057 MouseArea {
2058
2059=== modified file 'modules/Ubuntu/Components/Header.qml'
2060--- modules/Ubuntu/Components/Header.qml 2014-06-25 11:38:23 +0000
2061+++ modules/Ubuntu/Components/Header.qml 2015-03-06 08:22:20 +0000
2062@@ -14,7 +14,7 @@
2063 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2064 */
2065
2066-import QtQuick 2.0
2067+import QtQuick 2.4
2068
2069 /*!
2070 \qmltype Header
2071
2072=== modified file 'modules/Ubuntu/Components/Icon10.qml'
2073--- modules/Ubuntu/Components/Icon10.qml 2014-10-20 12:05:33 +0000
2074+++ modules/Ubuntu/Components/Icon10.qml 2015-03-06 08:22:20 +0000
2075@@ -14,7 +14,7 @@
2076 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2077 */
2078
2079-import QtQuick 2.0
2080+import QtQuick 2.4
2081
2082 Item {
2083 id: icon
2084
2085=== modified file 'modules/Ubuntu/Components/Icon11.qml'
2086--- modules/Ubuntu/Components/Icon11.qml 2014-07-30 20:20:49 +0000
2087+++ modules/Ubuntu/Components/Icon11.qml 2015-03-06 08:22:20 +0000
2088@@ -14,7 +14,7 @@
2089 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2090 */
2091
2092-import QtQuick 2.0
2093+import QtQuick 2.4
2094
2095 Icon10 {
2096 property url source: name ? "image://theme/%1".arg(name) : ""
2097
2098=== modified file 'modules/Ubuntu/Components/InputHandler.qml'
2099--- modules/Ubuntu/Components/InputHandler.qml 2015-01-14 13:32:44 +0000
2100+++ modules/Ubuntu/Components/InputHandler.qml 2015-03-06 08:22:20 +0000
2101@@ -14,8 +14,8 @@
2102 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2103 */
2104
2105-import QtQuick 2.1
2106-import Ubuntu.Components 1.1
2107+import QtQuick 2.4
2108+import Ubuntu.Components 1.2
2109
2110 /*
2111 This component is a unified text selection and scrolling handler for both
2112
2113=== modified file 'modules/Ubuntu/Components/Label.qml'
2114--- modules/Ubuntu/Components/Label.qml 2014-08-07 10:28:01 +0000
2115+++ modules/Ubuntu/Components/Label.qml 2015-03-06 08:22:20 +0000
2116@@ -14,7 +14,7 @@
2117 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2118 */
2119
2120-import QtQuick 2.0
2121+import QtQuick 2.4
2122
2123 /*!
2124 \qmltype Label
2125
2126=== modified file 'modules/Ubuntu/Components/ListItems/Base.qml'
2127--- modules/Ubuntu/Components/ListItems/Base.qml 2014-11-18 11:56:17 +0000
2128+++ modules/Ubuntu/Components/ListItems/Base.qml 2015-03-06 08:22:20 +0000
2129@@ -14,8 +14,8 @@
2130 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2131 */
2132
2133-import QtQuick 2.0
2134-import Ubuntu.Components 1.1
2135+import QtQuick 2.4
2136+import Ubuntu.Components 1.2
2137
2138 /*!
2139 \qmltype Base
2140@@ -23,6 +23,7 @@
2141 \ingroup ubuntu-listitems
2142 \brief Parent class of various list item classes that can have
2143 an icon and a progression symbol.
2144+ \note \b{The component is deprecated. Use ListItem component instead.}
2145
2146 Examples: See subclasses
2147 */
2148
2149=== modified file 'modules/Ubuntu/Components/ListItems/Caption.qml'
2150--- modules/Ubuntu/Components/ListItems/Caption.qml 2014-11-18 11:56:17 +0000
2151+++ modules/Ubuntu/Components/ListItems/Caption.qml 2015-03-06 08:22:20 +0000
2152@@ -14,14 +14,15 @@
2153 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2154 */
2155
2156-import QtQuick 2.0
2157-import Ubuntu.Components 1.1
2158+import QtQuick 2.4
2159+import Ubuntu.Components 1.2
2160
2161 /*!
2162 \qmltype Caption
2163 \inqmlmodule Ubuntu.Components.ListItems 1.0
2164 \ingroup ubuntu-listitems
2165 \brief List item that shows a piece of text.
2166+ \note \b{The component is deprecated. Use ListItem and Captiopns components instead.}
2167
2168 Examples:
2169 \qml
2170
2171=== modified file 'modules/Ubuntu/Components/ListItems/Divider.qml'
2172--- modules/Ubuntu/Components/ListItems/Divider.qml 2014-11-18 11:57:19 +0000
2173+++ modules/Ubuntu/Components/ListItems/Divider.qml 2015-03-06 08:22:20 +0000
2174@@ -14,14 +14,15 @@
2175 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2176 */
2177
2178-import QtQuick 2.0
2179-import Ubuntu.Components 1.1
2180+import QtQuick 2.4
2181+import Ubuntu.Components 1.2
2182
2183 /*!
2184 \qmltype Divider
2185 \inqmlmodule Ubuntu.Components.ListItems 1.0
2186 \ingroup ubuntu-listitems
2187 \brief Divider to break up list items into groups.
2188+ \note \b{The component is deprecated.}
2189
2190 Examples: see \l Header
2191 */
2192
2193=== modified file 'modules/Ubuntu/Components/ListItems/Empty.qml'
2194--- modules/Ubuntu/Components/ListItems/Empty.qml 2015-01-14 13:32:44 +0000
2195+++ modules/Ubuntu/Components/ListItems/Empty.qml 2015-03-06 08:22:20 +0000
2196@@ -14,14 +14,15 @@
2197 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2198 */
2199
2200-import QtQuick 2.0
2201-import Ubuntu.Components 1.1
2202+import QtQuick 2.4
2203+import Ubuntu.Components 1.2
2204
2205 /*!
2206 \qmltype Empty
2207 \inqmlmodule Ubuntu.Components.ListItems 1.0
2208 \ingroup ubuntu-listitems
2209 \brief A list item with no contents.
2210+ \note \b{The component is deprecated. Use ListItem component instead.}
2211 The Empty class can be used for generic list items containing other
2212 components such as buttons. It is selectable and can take mouse clicks.
2213 It will attempt to detect if a thin dividing line at the bottom of the
2214@@ -34,7 +35,7 @@
2215
2216 Examples:
2217 \qml
2218- import Ubuntu.Components 1.1
2219+ import Ubuntu.Components 1.2
2220 import Ubuntu.Components.ListItems 1.0 as ListItem
2221
2222 Item {
2223
2224=== modified file 'modules/Ubuntu/Components/ListItems/Expandable.qml'
2225--- modules/Ubuntu/Components/ListItems/Expandable.qml 2014-11-18 11:57:19 +0000
2226+++ modules/Ubuntu/Components/ListItems/Expandable.qml 2015-03-06 08:22:20 +0000
2227@@ -13,8 +13,8 @@
2228 * You should have received a copy of the GNU Lesser General Public License
2229 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2230 */
2231-import QtQuick 2.0
2232-import Ubuntu.Components 1.1
2233+import QtQuick 2.4
2234+import Ubuntu.Components 1.2
2235
2236 /*!
2237 \qmltype Expandable
2238@@ -35,7 +35,7 @@
2239
2240 Examples:
2241 \qml
2242- import Ubuntu.Components 1.1
2243+ import Ubuntu.Components 1.2
2244 import Ubuntu.Components.ListItems 1.0 as ListItem
2245
2246 Item {
2247
2248=== modified file 'modules/Ubuntu/Components/ListItems/ExpandablesColumn.qml'
2249--- modules/Ubuntu/Components/ListItems/ExpandablesColumn.qml 2014-11-18 11:56:17 +0000
2250+++ modules/Ubuntu/Components/ListItems/ExpandablesColumn.qml 2015-03-06 08:22:20 +0000
2251@@ -14,8 +14,8 @@
2252 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2253 */
2254
2255-import QtQuick 2.0
2256-import Ubuntu.Components 1.1
2257+import QtQuick 2.4
2258+import Ubuntu.Components 1.2
2259
2260 /*!
2261 \qmltype ExpandablesColumn
2262@@ -29,7 +29,7 @@
2263
2264 Examples:
2265 \qml
2266- import Ubuntu.Components 1.1
2267+ import Ubuntu.Components 1.2
2268 import Ubuntu.Components.ListItems 1.0 as ListItem
2269
2270 ListItem.ExpandablesColumn {
2271
2272=== modified file 'modules/Ubuntu/Components/ListItems/Header.qml'
2273--- modules/Ubuntu/Components/ListItems/Header.qml 2015-01-14 13:32:44 +0000
2274+++ modules/Ubuntu/Components/ListItems/Header.qml 2015-03-06 08:22:20 +0000
2275@@ -14,7 +14,7 @@
2276 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2277 */
2278
2279-import QtQuick 2.0
2280+import QtQuick 2.4
2281
2282 /*!
2283 \qmltype Header
2284
2285=== modified file 'modules/Ubuntu/Components/ListItems/IconVisual.qml'
2286--- modules/Ubuntu/Components/ListItems/IconVisual.qml 2014-04-23 08:50:20 +0000
2287+++ modules/Ubuntu/Components/ListItems/IconVisual.qml 2015-03-06 08:22:20 +0000
2288@@ -14,8 +14,8 @@
2289 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2290 */
2291
2292-import QtQuick 2.0
2293-import Ubuntu.Components 1.1
2294+import QtQuick 2.4
2295+import Ubuntu.Components 1.2
2296
2297 // internal helper class to create the visuals
2298 // for the icon.
2299
2300=== modified file 'modules/Ubuntu/Components/ListItems/ImageWithFallback.qml'
2301--- modules/Ubuntu/Components/ListItems/ImageWithFallback.qml 2012-11-22 20:59:44 +0000
2302+++ modules/Ubuntu/Components/ListItems/ImageWithFallback.qml 2015-03-06 08:22:20 +0000
2303@@ -14,7 +14,7 @@
2304 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2305 */
2306
2307-import QtQuick 2.0
2308+import QtQuick 2.4
2309
2310 Image {
2311 id: image
2312
2313=== modified file 'modules/Ubuntu/Components/ListItems/ItemSelector.qml'
2314--- modules/Ubuntu/Components/ListItems/ItemSelector.qml 2014-11-18 12:01:58 +0000
2315+++ modules/Ubuntu/Components/ListItems/ItemSelector.qml 2015-03-06 08:22:20 +0000
2316@@ -14,9 +14,9 @@
2317 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2318 */
2319
2320-import QtQuick 2.0
2321+import QtQuick 2.4
2322 import "." as ListItem
2323-import Ubuntu.Components 1.1
2324+import Ubuntu.Components 1.2
2325
2326 /*!
2327 \qmltype ItemSelector
2328
2329=== modified file 'modules/Ubuntu/Components/ListItems/LabelVisual.qml'
2330--- modules/Ubuntu/Components/ListItems/LabelVisual.qml 2014-04-23 08:50:20 +0000
2331+++ modules/Ubuntu/Components/ListItems/LabelVisual.qml 2015-03-06 08:22:20 +0000
2332@@ -14,8 +14,8 @@
2333 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2334 */
2335
2336-import QtQuick 2.0
2337-import Ubuntu.Components 1.1
2338+import QtQuick 2.4
2339+import Ubuntu.Components 1.2
2340
2341 // internal helper class for text inside the list items.
2342 Label {
2343
2344=== modified file 'modules/Ubuntu/Components/ListItems/MultiValue.qml'
2345--- modules/Ubuntu/Components/ListItems/MultiValue.qml 2014-11-18 11:56:17 +0000
2346+++ modules/Ubuntu/Components/ListItems/MultiValue.qml 2015-03-06 08:22:20 +0000
2347@@ -14,13 +14,14 @@
2348 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2349 */
2350
2351-import QtQuick 2.0
2352+import QtQuick 2.4
2353
2354 /*!
2355 \qmltype MultiValue
2356 \inqmlmodule Ubuntu.Components.ListItems 1.0
2357 \ingroup ubuntu-listitems
2358 \brief List item displaying multiple values.
2359+ \note \b{The component is deprecated. Use ListItem component instead.}
2360
2361 Examples:
2362 \qml
2363
2364=== modified file 'modules/Ubuntu/Components/ListItems/ProgressionVisual.qml'
2365--- modules/Ubuntu/Components/ListItems/ProgressionVisual.qml 2014-04-23 08:50:20 +0000
2366+++ modules/Ubuntu/Components/ListItems/ProgressionVisual.qml 2015-03-06 08:22:20 +0000
2367@@ -14,8 +14,8 @@
2368 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2369 */
2370
2371-import QtQuick 2.0
2372-import Ubuntu.Components 1.1
2373+import QtQuick 2.4
2374+import Ubuntu.Components 1.2
2375
2376 // Internal helper class for the visuals of
2377 // the progression symbol.
2378
2379=== modified file 'modules/Ubuntu/Components/ListItems/SingleControl.qml'
2380--- modules/Ubuntu/Components/ListItems/SingleControl.qml 2014-11-18 11:56:17 +0000
2381+++ modules/Ubuntu/Components/ListItems/SingleControl.qml 2015-03-06 08:22:20 +0000
2382@@ -14,8 +14,8 @@
2383 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2384 */
2385
2386-import QtQuick 2.0
2387-import Ubuntu.Components 1.1
2388+import QtQuick 2.4
2389+import Ubuntu.Components 1.2
2390 import Ubuntu.Components.ListItems 1.0
2391
2392 /*!
2393@@ -23,10 +23,11 @@
2394 \inqmlmodule Ubuntu.Components.ListItems 1.0
2395 \ingroup ubuntu-listitems
2396 \brief A list item containing a single control
2397+ \note \b{The component is deprecated. Use ListItem component instead.}
2398
2399 Examples:
2400 \qml
2401- import Ubuntu.Components 1.1
2402+ import Ubuntu.Components 1.2
2403 import Ubuntu.Components.ListItems 1.0 as ListItem
2404 Column {
2405 ListItem.SingleControl {
2406
2407=== modified file 'modules/Ubuntu/Components/ListItems/SingleValue.qml'
2408--- modules/Ubuntu/Components/ListItems/SingleValue.qml 2014-11-18 11:56:17 +0000
2409+++ modules/Ubuntu/Components/ListItems/SingleValue.qml 2015-03-06 08:22:20 +0000
2410@@ -14,13 +14,14 @@
2411 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2412 */
2413
2414-import QtQuick 2.0
2415+import QtQuick 2.4
2416
2417 /*!
2418 \qmltype SingleValue
2419 \inqmlmodule Ubuntu.Components.ListItems 1.0
2420 \ingroup ubuntu-listitems
2421 \brief A list item displaying a single value
2422+ \note \b{The component is deprecated. Use ListItem component instead.}
2423
2424 Examples:
2425 \qml
2426
2427=== modified file 'modules/Ubuntu/Components/ListItems/Standard.qml'
2428--- modules/Ubuntu/Components/ListItems/Standard.qml 2014-12-01 13:19:32 +0000
2429+++ modules/Ubuntu/Components/ListItems/Standard.qml 2015-03-06 08:22:20 +0000
2430@@ -14,8 +14,8 @@
2431 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2432 */
2433
2434-import QtQuick 2.0
2435-import Ubuntu.Components 1.1
2436+import QtQuick 2.4
2437+import Ubuntu.Components 1.2
2438
2439 /*!
2440 \qmltype Standard
2441@@ -25,12 +25,13 @@
2442 with a label (text), and optionally an icon, a progression arrow,
2443 and it can have an embedded Item (\l control) that can be used
2444 for including Buttons, Switches etc. inside the list item.
2445+ \note \b{The component is deprecated. Use ListItem component instead.}
2446
2447 \l {http://design.ubuntu.com/apps/building-blocks/list-items}{See also the Design Guidelines on List Items}.
2448
2449 Examples:
2450 \qml
2451- import Ubuntu.Components 1.1
2452+ import Ubuntu.Components 1.2
2453 import Ubuntu.Components.ListItems 1.0 as ListItem
2454 Column {
2455 ListItem.Standard {
2456
2457=== modified file 'modules/Ubuntu/Components/ListItems/Subtitled.qml'
2458--- modules/Ubuntu/Components/ListItems/Subtitled.qml 2014-11-18 11:56:17 +0000
2459+++ modules/Ubuntu/Components/ListItems/Subtitled.qml 2015-03-06 08:22:20 +0000
2460@@ -14,14 +14,15 @@
2461 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2462 */
2463
2464-import QtQuick 2.0
2465-import Ubuntu.Components 1.1
2466+import QtQuick 2.4
2467+import Ubuntu.Components 1.2
2468
2469 /*!
2470 \qmltype MultiValue
2471 \inqmlmodule Ubuntu.Components.ListItems 1.0
2472 \ingroup ubuntu-listitems
2473 \brief List item displaying a second string under the main label.
2474+ \note \b{The component is deprecated. Use ListItem component instead.}
2475
2476 Examples:
2477 \qml
2478
2479=== modified file 'modules/Ubuntu/Components/ListItems/ThinDivider.qml'
2480--- modules/Ubuntu/Components/ListItems/ThinDivider.qml 2015-01-14 13:32:44 +0000
2481+++ modules/Ubuntu/Components/ListItems/ThinDivider.qml 2015-03-06 08:22:20 +0000
2482@@ -14,8 +14,8 @@
2483 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2484 */
2485
2486-import QtQuick 2.0
2487-import Ubuntu.Components 1.0
2488+import QtQuick 2.4
2489+import Ubuntu.Components 1.2
2490
2491 /*!
2492 \qmltype ThinDivider
2493
2494=== modified file 'modules/Ubuntu/Components/ListItems/ValueSelector.qml'
2495--- modules/Ubuntu/Components/ListItems/ValueSelector.qml 2014-11-18 11:56:17 +0000
2496+++ modules/Ubuntu/Components/ListItems/ValueSelector.qml 2015-03-06 08:22:20 +0000
2497@@ -14,8 +14,8 @@
2498 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2499 */
2500
2501-import QtQuick 2.0
2502-import Ubuntu.Components 1.1
2503+import QtQuick 2.4
2504+import Ubuntu.Components 1.2
2505
2506 /*!
2507 ****DEPRECATED! PLEASE USE ITEM SELECTOR OR FOR THE UBUNTU SHAPE VERSION THE OPTION SELECTOR.****
2508
2509=== modified file 'modules/Ubuntu/Components/MainView.qdoc'
2510--- modules/Ubuntu/Components/MainView.qdoc 2015-01-26 17:05:17 +0000
2511+++ modules/Ubuntu/Components/MainView.qdoc 2015-03-06 08:22:20 +0000
2512@@ -16,7 +16,7 @@
2513
2514 /*!
2515 \qmltype MainView
2516- \inqmlmodule Ubuntu.Components 1.1
2517+ \inqmlmodule Ubuntu.Components 1.2
2518 \ingroup ubuntu
2519 \brief MainView is the root Item that should be used for all applications.
2520 It automatically adds a header and toolbar for its contents and can
2521@@ -25,8 +25,8 @@
2522 The simplest way to use a MainView is to include a single \l Page object
2523 inside the MainView:
2524 \qml
2525- import QtQuick 2.0
2526- import Ubuntu.Components 1.1
2527+ import QtQuick 2.4
2528+ import Ubuntu.Components 1.2
2529
2530 MainView {
2531 width: units.gu(48)
2532@@ -52,11 +52,11 @@
2533 For the MainView to automatically rotate its content following the orientation
2534 of the device, set the \l automaticOrientation property to true.
2535
2536- If the \l Page inside the MainView includes a Flickable with enough contents for scrolling, the header
2537- will automatically hide and show when the user scrolls up or down:
2538+ If the \l Page inside the MainView includes a Flickable with enough contents for scrolling,
2539+ the header will automatically hide and show when the user scrolls up or down:
2540 \qml
2541- import QtQuick 2.0
2542- import Ubuntu.Components 1.1
2543+ import QtQuick 2.4
2544+ import Ubuntu.Components 1.2
2545
2546 MainView {
2547 width: units.gu(48)
2548@@ -85,48 +85,8 @@
2549 The same header behavior is automatic when using a ListView instead of a Flickable in the above
2550 example.
2551
2552- A toolbar can be added to the application by setting the tools property of the \l Page:
2553- \qml
2554- import QtQuick 2.0
2555- import Ubuntu.Components 1.1
2556-
2557- MainView {
2558- width: units.gu(48)
2559- height: units.gu(60)
2560-
2561- Page {
2562- title: "Page title"
2563- Rectangle {
2564- id: rectangle
2565- anchors.centerIn: parent
2566- width: units.gu(20)
2567- height: units.gu(20)
2568- color: UbuntuColors.coolGrey
2569- }
2570-
2571- tools: ToolbarItems {
2572- ToolbarButton {
2573- action: Action {
2574- text: "orange"
2575- onTriggered: rectangle.color = UbuntuColors.orange
2576- }
2577- }
2578- ToolbarButton {
2579- action: Action {
2580- text: "purple"
2581- onTriggered: rectangle.color = UbuntuColors.lightAubergine
2582- }
2583- }
2584- }
2585- }
2586- }
2587- \endqml
2588- The toolbar is hidden by default, but will be made visible when the user performs a
2589- bottom-edge-swipe gesture, and hidden when the user swipes it out, or when the active
2590- \l Page inside the MainView is changed.
2591 The examples above show how to include a single \l Page inside a MainView, but more
2592 advanced application structures are possible using \l PageStack and \l Tabs.
2593- See \l ToolbarItems for details on how to to control the behavior and contents of the toolbar.
2594 */
2595
2596
2597@@ -135,7 +95,8 @@
2598 The property holds the application's name, which must be the same as the
2599 desktop file's name.
2600 The name also sets the name of the QCoreApplication and defaults for data
2601- and cache folders that work on the desktop and under confinement.
2602+ and cache folders that work on the desktop and under confinement, as well as
2603+ the default gettext domain.
2604 C++ code that writes files may use QStandardPaths::writableLocation with
2605 QStandardPaths::DataLocation or QStandardPaths::CacheLocation.
2606 */
2607@@ -165,8 +126,8 @@
2608 For example, in order for the MainView to draw a color gradient beneath
2609 the content:
2610 \qml
2611- import QtQuick 2.0
2612- import Ubuntu.Components 1.1
2613+ import QtQuick 2.4
2614+ import Ubuntu.Components 1.2
2615
2616 MainView {
2617 width: units.gu(40)
2618@@ -203,13 +164,14 @@
2619 */
2620
2621 /*!
2622+ \deprecated
2623 \qmlproperty bool MainView::useDeprecatedToolbar
2624 Setting this option will enable the old toolbar, and disable the new features
2625 that are being added to the new header. Unsetting it removes the toolbar and
2626 enables developers to have a sneak peek at the new features that are coming to
2627 the header, even before all the required functionality is implemented.
2628- This property will be deprecated after the new header implementation is done and
2629- all apps transitioned to using it. Default value: true.
2630+ Default value up to version 1.1: true.
2631+ NOT AVAILABLE in version 1.2 where the deprecated toolbar is not supported.
2632 */
2633
2634 /*!
2635
2636=== modified file 'modules/Ubuntu/Components/MainView.qml'
2637--- modules/Ubuntu/Components/MainView.qml 2015-01-26 22:19:11 +0000
2638+++ modules/Ubuntu/Components/MainView.qml 2015-03-06 08:22:20 +0000
2639@@ -14,8 +14,8 @@
2640 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2641 */
2642
2643-import QtQuick 2.2
2644-import Ubuntu.Components 1.1 as Toolkit
2645+import QtQuick 2.4
2646+import Ubuntu.Components 1.2 as Toolkit
2647 import Ubuntu.PerformanceMetrics 1.0
2648 import QtQuick.Window 2.0
2649
2650@@ -24,13 +24,11 @@
2651 MainViewBase {
2652 id: mainView
2653
2654- active: true
2655-
2656 /*!
2657 \qmlproperty bool automaticOrientation
2658 */
2659 property alias automaticOrientation: canvas.automaticOrientation
2660- useDeprecatedToolbar: true
2661+ property bool useDeprecatedToolbar: true
2662
2663 /*!
2664 \internal
2665@@ -125,9 +123,8 @@
2666 in \l Page to determine the area for the \l Page to fill.
2667 */
2668 AppHeader {
2669- // FIXME We need to set an object name to this header in order to differentiate it from the ListItem.Header on Autopilot tests.
2670- // This is a temporary workaround while we find a better solution for https://bugs.launchpad.net/autopilot/+bug/1210265
2671- // --elopio - 2013-08-08
2672+ // This objectName is used in the MainView autopilot custom proxy object
2673+ // in order to select the application header.
2674 objectName: "MainView_Header"
2675 id: headerItem
2676 property real bottomY: headerItem.y + headerItem.height
2677
2678=== added file 'modules/Ubuntu/Components/MainView12.qml'
2679--- modules/Ubuntu/Components/MainView12.qml 1970-01-01 00:00:00 +0000
2680+++ modules/Ubuntu/Components/MainView12.qml 2015-03-06 08:22:20 +0000
2681@@ -0,0 +1,163 @@
2682+/*
2683+ * Copyright 2012-2015 Canonical Ltd.
2684+ *
2685+ * This program is free software; you can redistribute it and/or modify
2686+ * it under the terms of the GNU Lesser General Public License as published by
2687+ * the Free Software Foundation; version 3.
2688+ *
2689+ * This program is distributed in the hope that it will be useful,
2690+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
2691+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2692+ * GNU Lesser General Public License for more details.
2693+ *
2694+ * You should have received a copy of the GNU Lesser General Public License
2695+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
2696+ */
2697+
2698+import QtQuick 2.4
2699+import Ubuntu.Components 1.2 as Toolkit
2700+import Ubuntu.PerformanceMetrics 1.0
2701+import QtQuick.Window 2.2
2702+
2703+/*! \internal */
2704+// Documentation is in MainView.qdoc
2705+MainViewBase {
2706+ id: mainView
2707+
2708+ property alias automaticOrientation: canvas.automaticOrientation
2709+
2710+ /*!
2711+ \internal
2712+ Use default property to ensure children added do not draw over the header.
2713+ */
2714+ default property alias contentsItem: contents.data
2715+ OrientationHelper {
2716+ id: canvas
2717+
2718+ automaticOrientation: false
2719+ anchorToKeyboard: mainView.anchorToKeyboard
2720+
2721+ // clip the contents so that it does not overlap the header
2722+ Item {
2723+ id: contentsClipper
2724+ anchors {
2725+ left: parent.left
2726+ right: parent.right
2727+ top: headerItem.bottom
2728+ bottom: parent.bottom
2729+ }
2730+ // only clip when necessary
2731+ // ListView headers may be positioned at the top, independent from
2732+ // flickable.contentY, so do not clip depending on activePage.flickable.contentY.
2733+ clip: headerItem.bottomY > 0 && internal.activePage && internal.activePage.flickable
2734+
2735+ Item {
2736+ id: contents
2737+ anchors {
2738+ fill: parent
2739+
2740+ // compensate so that the actual y is always 0
2741+ topMargin: -parent.y
2742+ }
2743+ }
2744+ }
2745+
2746+ /*!
2747+ The header of the MainView. Can be used to obtain the height of the header
2748+ in \l Page to determine the area for the \l Page to fill.
2749+ */
2750+ AppHeader {
2751+ // This objectName is used in the MainView autopilot custom proxy object
2752+ // in order to select the application header.
2753+ objectName: "MainView_Header"
2754+ id: headerItem
2755+ property real bottomY: headerItem.y + headerItem.height
2756+ animate: true
2757+ dividerColor: Qt.darker(mainView.headerColor, 1.1)
2758+ panelColor: Qt.lighter(mainView.headerColor, 1.1)
2759+
2760+ title: internal.activePage ? internal.activePage.title : ""
2761+ flickable: internal.activePage ? internal.activePage.flickable : null
2762+ pageStack: internal.activePage ? internal.activePage.pageStack : null
2763+
2764+ contents: internal.activePage ?
2765+ internal.activePage.__customHeaderContents : null
2766+
2767+ PageHeadConfiguration {
2768+ id: defaultConfig
2769+ // Used when there is no active Page, or a Page 1.0 is used which
2770+ // does not have a PageHeadConfiguration.
2771+ }
2772+ config: internal.activePage && internal.activePage.hasOwnProperty("head") ?
2773+ internal.activePage.head : defaultConfig
2774+
2775+ // 'window' is defined by QML between startup and showing on the screen.
2776+ // There is no signal for when it becomes available and re-declaring it is not safe.
2777+ property bool windowActive: typeof window != 'undefined'
2778+ onWindowActiveChanged: {
2779+ window.title = headerItem.title
2780+ }
2781+
2782+ Connections {
2783+ target: headerItem
2784+ onTitleChanged: {
2785+ if (headerItem.windowActive)
2786+ window.title = headerItem.title
2787+ }
2788+ }
2789+
2790+ // Use of the deprecated toolbar is no longer supported in MainView 1.2.
2791+ useDeprecatedToolbar: false
2792+ }
2793+
2794+ Connections {
2795+ target: Qt.application
2796+ onActiveChanged: {
2797+ if (Qt.application.active) {
2798+ headerItem.animate = false;
2799+ headerItem.show();
2800+ headerItem.animate = true;
2801+ }
2802+ }
2803+ }
2804+ }
2805+
2806+ Object {
2807+ id: internal
2808+
2809+ // Even when using MainView 1.1, we still support Page 1.0.
2810+ // PageBase (=Page 1.0) is the superclass of Page 1.1.
2811+ property PageBase activePage: isPage(mainView.activeLeafNode) ? mainView.activeLeafNode : null
2812+
2813+ function isPage(item) {
2814+ return item && item.hasOwnProperty("__isPageTreeNode") && item.__isPageTreeNode &&
2815+ item.hasOwnProperty("title") && item.hasOwnProperty("tools");
2816+ }
2817+ }
2818+
2819+ __propagated: QtObject {
2820+ /*!
2821+ \internal
2822+ The header that will be propagated to the children in the page tree node.
2823+ It is used by Tabs to bind header's tabsModel.
2824+ */
2825+ property AppHeader header: headerItem
2826+
2827+ /*!
2828+ \internal
2829+ The action manager that has the global context for the MainView's actions,
2830+ and to which a local context can be added for each Page that has actions.actions.
2831+ */
2832+ property var actionManager: mainView.actionManager
2833+
2834+ /*!
2835+ \internal
2836+ Used by PageStack. This property only exists in MainView 1.2 and later.
2837+ */
2838+ readonly property bool animateHeader: headerItem.__styleInstance &&
2839+ headerItem.__styleInstance.hasOwnProperty("animateIn") &&
2840+ headerItem.__styleInstance.hasOwnProperty("animateOut") &&
2841+ headerItem.__styleInstance.hasOwnProperty("animateInFinished") &&
2842+ headerItem.__styleInstance.hasOwnProperty("animateOutFinished")
2843+ }
2844+}
2845
2846=== modified file 'modules/Ubuntu/Components/MainViewBase.qml'
2847--- modules/Ubuntu/Components/MainViewBase.qml 2015-01-27 11:31:24 +0000
2848+++ modules/Ubuntu/Components/MainViewBase.qml 2015-03-06 08:22:20 +0000
2849@@ -14,8 +14,8 @@
2850 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2851 */
2852
2853-import QtQuick 2.2
2854-import Ubuntu.Components 1.1 as Toolkit
2855+import QtQuick 2.4
2856+import Ubuntu.Components 1.2 as Toolkit
2857 import Ubuntu.PerformanceMetrics 1.0
2858 import QtQuick.Window 2.0
2859
2860@@ -59,7 +59,6 @@
2861 }
2862
2863 active: true
2864- property bool useDeprecatedToolbar
2865 property alias actions: unityActionManager.actions
2866 property alias actionManager: unityActionManager
2867 Toolkit.ActionManager {
2868
2869=== modified file 'modules/Ubuntu/Components/Object.qml'
2870--- modules/Ubuntu/Components/Object.qml 2014-04-23 08:50:20 +0000
2871+++ modules/Ubuntu/Components/Object.qml 2015-03-06 08:22:20 +0000
2872@@ -14,7 +14,7 @@
2873 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2874 */
2875
2876-import QtQuick 2.0
2877+import QtQuick 2.4
2878
2879 /*!
2880 \qmltype Object
2881
2882=== modified file 'modules/Ubuntu/Components/OptionSelector.qml'
2883--- modules/Ubuntu/Components/OptionSelector.qml 2014-11-18 12:01:58 +0000
2884+++ modules/Ubuntu/Components/OptionSelector.qml 2015-03-06 08:22:20 +0000
2885@@ -14,9 +14,9 @@
2886 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2887 */
2888
2889-import QtQuick 2.0
2890+import QtQuick 2.4
2891 import "ListItems" as ListItem
2892-import Ubuntu.Components 1.1 as Toolkit
2893+import Ubuntu.Components 1.2 as Toolkit
2894
2895 /*!
2896 \qmltype OptionSelector
2897@@ -27,7 +27,7 @@
2898
2899 Examples:
2900 \qml
2901- import Ubuntu.Components 1.1
2902+ import Ubuntu.Components 1.2
2903 Column {
2904 spacing: units.gu(3)
2905
2906
2907=== modified file 'modules/Ubuntu/Components/OptionSelectorDelegate.qml'
2908--- modules/Ubuntu/Components/OptionSelectorDelegate.qml 2014-11-18 12:01:58 +0000
2909+++ modules/Ubuntu/Components/OptionSelectorDelegate.qml 2015-03-06 08:22:20 +0000
2910@@ -22,7 +22,7 @@
2911
2912 Examples:
2913 \qml
2914- import Ubuntu.Components 1.1
2915+ import Ubuntu.Components 1.2
2916 Column {
2917 width: 250
2918 OptionSelector {
2919@@ -41,9 +41,9 @@
2920 \endqml
2921 */
2922
2923-import QtQuick 2.0
2924+import QtQuick 2.4
2925 import "ListItems" as ListItem
2926-import Ubuntu.Components 1.1 as Toolkit
2927+import Ubuntu.Components 1.2 as Toolkit
2928
2929 ListItem.Empty {
2930 id: option
2931
2932=== modified file 'modules/Ubuntu/Components/OrientationHelper.qml'
2933--- modules/Ubuntu/Components/OrientationHelper.qml 2015-01-09 14:35:43 +0000
2934+++ modules/Ubuntu/Components/OrientationHelper.qml 2015-03-06 08:22:20 +0000
2935@@ -14,9 +14,9 @@
2936 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2937 */
2938
2939-import QtQuick 2.2
2940+import QtQuick 2.4
2941 import QtQuick.Window 2.0
2942-import Ubuntu.Components 1.0
2943+import Ubuntu.Components 1.2
2944
2945 /*!
2946 \qmltype OrientationHelper
2947
2948=== modified file 'modules/Ubuntu/Components/Page.qdoc'
2949--- modules/Ubuntu/Components/Page.qdoc 2014-11-28 13:30:05 +0000
2950+++ modules/Ubuntu/Components/Page.qdoc 2015-03-06 08:22:20 +0000
2951@@ -28,8 +28,8 @@
2952 and \l head properties of the page:
2953
2954 \qml
2955- import QtQuick 2.0
2956- import Ubuntu.Components 1.1
2957+ import QtQuick 2.4
2958+ import Ubuntu.Components 1.2
2959
2960 MainView {
2961 width: units.gu(48)
2962@@ -58,6 +58,12 @@
2963 \endqml
2964 See \l MainView for more examples on how to use the header.
2965 Advanced navigation structures can be created by adding Pages to a \l PageStack or \l Tabs.
2966+
2967+ The Page automatically anchors to the left and bottom of its parent. The width of the Page
2968+ will be the full width of its parent \l MainView or \l PageStack or \l Tab,
2969+ and the height will adapt to leave space for the header when needed. It is possible to
2970+ use a Page inside a Loader, but in that case do not set the anchors or size of the Loader
2971+ so that the Page can control its width and height.
2972 */
2973
2974 /*!
2975@@ -86,8 +92,8 @@
2976 is automatically set to the first child of the page that is Flickable
2977 and anchors to the top of the page or fills the page. For example:
2978 \qml
2979- import QtQuick 2.0
2980- import Ubuntu.Components 1.1
2981+ import QtQuick 2.4
2982+ import Ubuntu.Components 1.2
2983
2984 MainView {
2985 width: units.gu(30)
2986
2987=== modified file 'modules/Ubuntu/Components/Page10.qml'
2988--- modules/Ubuntu/Components/Page10.qml 2014-09-25 14:07:07 +0000
2989+++ modules/Ubuntu/Components/Page10.qml 2015-03-06 08:22:20 +0000
2990@@ -1,5 +1,5 @@
2991 /*
2992- * Copyright 2012-2014 Canonical Ltd.
2993+ * Copyright 2012-2015 Canonical Ltd.
2994 *
2995 * This program is free software; you can redistribute it and/or modify
2996 * it under the terms of the GNU Lesser General Public License as published by
2997@@ -14,8 +14,8 @@
2998 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2999 */
3000
3001-import QtQuick 2.2
3002-import Ubuntu.Components 1.1 as Toolkit
3003+import QtQuick 2.4
3004+import Ubuntu.Components 1.2 as Toolkit
3005
3006 /*!
3007 \internal
3008@@ -25,10 +25,11 @@
3009 id: page
3010 anchors {
3011 left: parent ? parent.left : undefined
3012- right: parent ? parent.right : undefined
3013 bottom: parent ? parent.bottom : undefined
3014 }
3015- // avoid using parent.height because parent may be a Loader which does not have its height set.
3016+ // Set width and height so that a parent Loader can be automatically resized
3017+ // to the size of the loaded Page.
3018+ width: parentNode ? parentNode.width - page.x : undefined
3019 height: parentNode ? page.flickable ? parentNode.height : parentNode.height - internal.headerHeight : undefined
3020
3021 isLeaf: true
3022
3023=== modified file 'modules/Ubuntu/Components/Page11.qml'
3024--- modules/Ubuntu/Components/Page11.qml 2014-06-30 18:38:15 +0000
3025+++ modules/Ubuntu/Components/Page11.qml 2015-03-06 08:22:20 +0000
3026@@ -14,7 +14,7 @@
3027 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3028 */
3029
3030-import QtQuick 2.2
3031+import QtQuick 2.4
3032
3033 /*! \internal */
3034 // Documentation in Page.qdoc
3035@@ -28,6 +28,10 @@
3036 id: headerConfig
3037 }
3038
3039+ onToolsChanged: {
3040+ print("Page.tools is a deprecated property. Please use Page.head instead.");
3041+ }
3042+
3043 Object {
3044 id: internal
3045
3046
3047=== modified file 'modules/Ubuntu/Components/PageHeadConfiguration.qml'
3048--- modules/Ubuntu/Components/PageHeadConfiguration.qml 2015-01-06 12:36:58 +0000
3049+++ modules/Ubuntu/Components/PageHeadConfiguration.qml 2015-03-06 08:22:20 +0000
3050@@ -1,5 +1,5 @@
3051 /*
3052- * Copyright 2014 Canonical Ltd.
3053+ * Copyright 2014-2015 Canonical Ltd.
3054 *
3055 * This program is free software; you can redistribute it and/or modify
3056 * it under the terms of the GNU Lesser General Public License as published by
3057@@ -14,8 +14,8 @@
3058 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3059 */
3060
3061-import QtQuick 2.2
3062-import Ubuntu.Components 1.1
3063+import QtQuick 2.4
3064+import Ubuntu.Components 1.2
3065
3066 /*!
3067 \qmltype PageHeadConfiguration
3068@@ -121,14 +121,13 @@
3069
3070 Example:
3071 \qml
3072- import QtQuick 2.2
3073- import Ubuntu.Components 1.1
3074+ import QtQuick 2.4
3075+ import Ubuntu.Components 1.2
3076
3077 MainView {
3078 id: mainView
3079 width: units.gu(40)
3080 height: units.gu(50)
3081- useDeprecatedToolbar: false
3082
3083 Page {
3084 id: page
3085
3086=== modified file 'modules/Ubuntu/Components/PageHeadSections.qml'
3087--- modules/Ubuntu/Components/PageHeadSections.qml 2014-07-28 12:15:40 +0000
3088+++ modules/Ubuntu/Components/PageHeadSections.qml 2015-03-06 08:22:20 +0000
3089@@ -1,5 +1,5 @@
3090 /*
3091- * Copyright 2014 Canonical Ltd.
3092+ * Copyright 2014-2015 Canonical Ltd.
3093 *
3094 * This program is free software; you can redistribute it and/or modify
3095 * it under the terms of the GNU Lesser General Public License as published by
3096@@ -14,7 +14,7 @@
3097 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3098 */
3099
3100-import QtQuick 2.2
3101+import QtQuick 2.4
3102
3103 /*!
3104 \qmltype PageHeadSections
3105@@ -39,15 +39,13 @@
3106 /*!
3107 List of strings that represent section names. Example:
3108 \qml
3109- import Ubuntu.Components 1.1
3110- import QtQuick 2.2
3111+ import Ubuntu.Components 1.2
3112+ import QtQuick 2.4
3113
3114 MainView {
3115 width: units.gu(50)
3116 height: units.gu(80)
3117
3118- useDeprecatedToolbar: false
3119-
3120 Page {
3121 id: page
3122 title: "Sections"
3123
3124=== modified file 'modules/Ubuntu/Components/PageHeadState.qml'
3125--- modules/Ubuntu/Components/PageHeadState.qml 2014-09-18 15:31:25 +0000
3126+++ modules/Ubuntu/Components/PageHeadState.qml 2015-03-06 08:22:20 +0000
3127@@ -1,5 +1,5 @@
3128 /*
3129- * Copyright 2014 Canonical Ltd.
3130+ * Copyright 2014-2015 Canonical Ltd.
3131 *
3132 * This program is free software; you can redistribute it and/or modify
3133 * it under the terms of the GNU Lesser General Public License as published by
3134@@ -14,8 +14,8 @@
3135 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3136 */
3137
3138-import QtQuick 2.2
3139-import Ubuntu.Components 1.1 // for Action
3140+import QtQuick 2.4
3141+import Ubuntu.Components 1.2 // for Action
3142
3143 /*!
3144 \qmltype PageHeadState
3145@@ -28,14 +28,13 @@
3146 This example shows how to add an action to the header that
3147 enables the user to enter search/input mode:
3148 \qml
3149- import QtQuick 2.2
3150- import Ubuntu.Components 1.1
3151+ import QtQuick 2.4
3152+ import Ubuntu.Components 1.2
3153
3154 MainView {
3155 id: mainView
3156 width: units.gu(40)
3157 height: units.gu(50)
3158- useDeprecatedToolbar: false
3159
3160 Page {
3161 id: searchPage
3162
3163=== modified file 'modules/Ubuntu/Components/PageStack.qml'
3164--- modules/Ubuntu/Components/PageStack.qml 2014-11-18 11:38:59 +0000
3165+++ modules/Ubuntu/Components/PageStack.qml 2015-03-06 08:22:20 +0000
3166@@ -1,5 +1,5 @@
3167 /*
3168- * Copyright 2012 Canonical Ltd.
3169+ * Copyright 2012-2015 Canonical Ltd.
3170 *
3171 * This program is free software; you can redistribute it and/or modify
3172 * it under the terms of the GNU Lesser General Public License as published by
3173@@ -14,7 +14,7 @@
3174 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3175 */
3176
3177-import QtQuick 2.2
3178+import QtQuick 2.4
3179 import "stack.js" as Stack
3180
3181 /*!
3182@@ -36,8 +36,8 @@
3183 left/right/top/bottom anchors, explicitly set anchors.fill of the PageStack to
3184 undefined:
3185 \qml
3186- import QtQuick 2.2
3187- import Ubuntu.Components 1.1
3188+ import QtQuick 2.4
3189+ import Ubuntu.Components 1.2
3190
3191 MainView {
3192 width: units.gu(40)
3193@@ -75,8 +75,8 @@
3194
3195 Example:
3196 \qml
3197- import QtQuick 2.0
3198- import Ubuntu.Components 1.1
3199+ import QtQuick 2.4
3200+ import Ubuntu.Components 1.2
3201 import Ubuntu.Components.ListItems 1.0 as ListItem
3202
3203 MainView {
3204@@ -214,18 +214,8 @@
3205 ? pageStack.__propagated.header.__styleInstance
3206 : null
3207
3208- function headerCanAnimate() {
3209- if (!headStyle) return false;
3210- if (!headStyle.hasOwnProperty("animateIn")) return false;
3211- if (!headStyle.hasOwnProperty("animateOut")) return false;
3212- if (!headStyle.hasOwnProperty("animateInFinished")) return false;
3213- if (!headStyle.hasOwnProperty("animateOutFinished")) return false;
3214- return true;
3215- }
3216-
3217- // FIXME: Replace false by headerCanAnimate() below to enable
3218- // header animations.
3219- property bool animateHeader: false
3220+ property bool animateHeader: pageStack.__propagated.hasOwnProperty("animateHeader") &&
3221+ pageStack.__propagated.animateHeader
3222
3223 // Call this function before pushing or popping to ensure correct order
3224 // of pushes/pops on the stack. This terminates any currently running
3225
3226=== modified file 'modules/Ubuntu/Components/PageTreeNode.qml'
3227--- modules/Ubuntu/Components/PageTreeNode.qml 2014-08-21 05:24:14 +0000
3228+++ modules/Ubuntu/Components/PageTreeNode.qml 2015-03-06 08:22:20 +0000
3229@@ -14,7 +14,7 @@
3230 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3231 */
3232
3233-import QtQuick 2.0
3234+import QtQuick 2.4
3235
3236 /*!
3237 \internal
3238@@ -52,7 +52,8 @@
3239 The toolbar of the node. Propagates down from the root node.
3240 This property is DEPRECATED.
3241 */
3242- property Toolbar toolbar: node.__propagated ? node.__propagated.toolbar : null
3243+ property Toolbar toolbar: node.__propagated && node.__propagated.hasOwnProperty("toolbar")
3244+ ? node.__propagated.toolbar : null
3245
3246 /*!
3247 \internal
3248
3249=== modified file 'modules/Ubuntu/Components/PageWrapper.qml'
3250--- modules/Ubuntu/Components/PageWrapper.qml 2014-11-18 11:38:59 +0000
3251+++ modules/Ubuntu/Components/PageWrapper.qml 2015-03-06 08:22:20 +0000
3252@@ -14,7 +14,7 @@
3253 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3254 */
3255
3256-import QtQuick 2.0
3257+import QtQuick 2.4
3258 import "PageWrapperUtils.js" as Utils
3259
3260 /*!
3261
3262=== modified file 'modules/Ubuntu/Components/Panel.qml'
3263--- modules/Ubuntu/Components/Panel.qml 2014-07-17 13:58:56 +0000
3264+++ modules/Ubuntu/Components/Panel.qml 2015-03-06 08:22:20 +0000
3265@@ -14,8 +14,8 @@
3266 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3267 */
3268
3269-import QtQuick 2.0
3270-import Ubuntu.Components 1.1 as Toolkit
3271+import QtQuick 2.4
3272+import Ubuntu.Components 1.2 as Toolkit
3273
3274 /*!
3275 \qmltype Panel
3276@@ -37,8 +37,8 @@
3277
3278 A black panel that can be swiped in from the lower-right of the window can be created like this:
3279 \qml
3280- import QtQuick 2.0
3281- import Ubuntu.Components 1.1
3282+ import QtQuick 2.4
3283+ import Ubuntu.Components 1.2
3284
3285 Item {
3286 width: units.gu(80)
3287@@ -68,8 +68,8 @@
3288
3289 A panel that looks like the standard (bottom-aligned) toolbar, but with custom contents, can be created like this:
3290 \qml
3291- import QtQuick 2.0
3292- import Ubuntu.Components 1.1
3293+ import QtQuick 2.4
3294+ import Ubuntu.Components 1.2
3295
3296 Item {
3297 width: units.gu(80)
3298@@ -105,8 +105,8 @@
3299 start swiping on the buttons in the examples above in order to hide the panel. To remedy this, clicked()
3300 signals are forwarded from the panel by calling the child's trigger() function. Example:
3301 \qml
3302- import QtQuick 2.0
3303- import Ubuntu.Components 1.1
3304+ import QtQuick 2.4
3305+ import Ubuntu.Components 1.2
3306
3307 Rectangle {
3308 color: Theme.palette.normal.background
3309
3310=== modified file 'modules/Ubuntu/Components/Pickers/DatePicker.qml'
3311--- modules/Ubuntu/Components/Pickers/DatePicker.qml 2014-10-08 09:09:29 +0000
3312+++ modules/Ubuntu/Components/Pickers/DatePicker.qml 2015-03-06 08:22:20 +0000
3313@@ -14,8 +14,8 @@
3314 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3315 */
3316
3317-import QtQuick 2.0
3318-import Ubuntu.Components 1.1
3319+import QtQuick 2.4
3320+import Ubuntu.Components 1.2
3321
3322 /*!
3323 \qmltype DatePicker
3324@@ -35,8 +35,8 @@
3325 only through the \l date property.
3326
3327 \qml
3328- import QtQuick 2.0
3329- import Ubuntu.Components 1.1
3330+ import QtQuick 2.4
3331+ import Ubuntu.Components 1.2
3332 import Ubuntu.Components.Pickers 1.0
3333
3334 Column {
3335@@ -55,8 +55,8 @@
3336 \b Minutes and \b Seconds strings sepatared with '|' character. A DatePicker
3337 which shows only year and month date units would look as follows:
3338 \qml
3339- import QtQuick 2.0
3340- import Ubuntu.Components 1.1
3341+ import QtQuick 2.4
3342+ import Ubuntu.Components 1.2
3343 import Ubuntu.Components.Pickers 1.0
3344
3345 Column {
3346@@ -74,8 +74,8 @@
3347 is needed, the model should be set to contain the time specific mode flags.
3348 The following example demonstrates how to use DatePicker for time picking.
3349 \qml
3350- import QtQuick 2.0
3351- import Ubuntu.Components 1.1
3352+ import QtQuick 2.4
3353+ import Ubuntu.Components 1.2
3354 import Ubuntu.Components.Pickers 1.0
3355
3356 Column {
3357@@ -111,8 +111,8 @@
3358 hours picker presenting 24 hours.
3359 \endlist
3360 \qml
3361- import QtQuick 2.0
3362- import Ubuntu.Components 1.1
3363+ import QtQuick 2.4
3364+ import Ubuntu.Components 1.2
3365 import Ubuntu.Components.Pickers 1.0
3366
3367 Column {
3368
3369=== modified file 'modules/Ubuntu/Components/Pickers/DayModel.qml'
3370--- modules/Ubuntu/Components/Pickers/DayModel.qml 2014-04-23 08:50:20 +0000
3371+++ modules/Ubuntu/Components/Pickers/DayModel.qml 2015-03-06 08:22:20 +0000
3372@@ -14,8 +14,8 @@
3373 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3374 */
3375
3376-import QtQuick 2.0
3377-import Ubuntu.Components 1.1
3378+import QtQuick 2.4
3379+import Ubuntu.Components 1.2
3380
3381 PickerModelBase {
3382 circular: true
3383
3384=== modified file 'modules/Ubuntu/Components/Pickers/Dialer.qml'
3385--- modules/Ubuntu/Components/Pickers/Dialer.qml 2014-08-21 05:24:14 +0000
3386+++ modules/Ubuntu/Components/Pickers/Dialer.qml 2015-03-06 08:22:20 +0000
3387@@ -14,8 +14,8 @@
3388 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3389 */
3390
3391-import QtQuick 2.0
3392-import Ubuntu.Components 1.1
3393+import QtQuick 2.4
3394+import Ubuntu.Components 1.2
3395
3396 /*!
3397 \qmltype Dialer
3398@@ -34,7 +34,7 @@
3399 value between 0 and 50.
3400
3401 \qml
3402- import QtQuick 2.0
3403+ import QtQuick 2.4
3404 import Ubuntu.Components.Pickers 1.0
3405
3406 Dialer {
3407
3408=== modified file 'modules/Ubuntu/Components/Pickers/DialerHand.qml'
3409--- modules/Ubuntu/Components/Pickers/DialerHand.qml 2014-08-21 05:24:14 +0000
3410+++ modules/Ubuntu/Components/Pickers/DialerHand.qml 2015-03-06 08:22:20 +0000
3411@@ -14,8 +14,8 @@
3412 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3413 */
3414
3415-import QtQuick 2.0
3416-import Ubuntu.Components 1.1
3417+import QtQuick 2.4
3418+import Ubuntu.Components 1.2
3419
3420 /*!
3421 \qmltype DialerHand
3422
3423=== modified file 'modules/Ubuntu/Components/Pickers/DialerHandGroup.qml'
3424--- modules/Ubuntu/Components/Pickers/DialerHandGroup.qml 2014-04-25 12:53:58 +0000
3425+++ modules/Ubuntu/Components/Pickers/DialerHandGroup.qml 2015-03-06 08:22:20 +0000
3426@@ -13,8 +13,8 @@
3427 * You should have received a copy of the GNU Lesser General Public License
3428 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3429 */
3430-import QtQuick 2.0
3431-import Ubuntu.Components 1.1
3432+import QtQuick 2.4
3433+import Ubuntu.Components 1.2
3434
3435 /*!
3436 \internal
3437
3438=== modified file 'modules/Ubuntu/Components/Pickers/HoursModel.qml'
3439--- modules/Ubuntu/Components/Pickers/HoursModel.qml 2014-04-23 08:50:20 +0000
3440+++ modules/Ubuntu/Components/Pickers/HoursModel.qml 2015-03-06 08:22:20 +0000
3441@@ -14,8 +14,8 @@
3442 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3443 */
3444
3445-import QtQuick 2.0
3446-import Ubuntu.Components 1.1
3447+import QtQuick 2.4
3448+import Ubuntu.Components 1.2
3449
3450 PickerModelBase {
3451 property int from
3452
3453=== modified file 'modules/Ubuntu/Components/Pickers/MinutesModel.qml'
3454--- modules/Ubuntu/Components/Pickers/MinutesModel.qml 2014-04-23 08:50:20 +0000
3455+++ modules/Ubuntu/Components/Pickers/MinutesModel.qml 2015-03-06 08:22:20 +0000
3456@@ -14,8 +14,8 @@
3457 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3458 */
3459
3460-import QtQuick 2.0
3461-import Ubuntu.Components 1.1
3462+import QtQuick 2.4
3463+import Ubuntu.Components 1.2
3464
3465 PickerModelBase {
3466 property int from
3467
3468=== modified file 'modules/Ubuntu/Components/Pickers/MonthModel.qml'
3469--- modules/Ubuntu/Components/Pickers/MonthModel.qml 2014-04-23 08:50:20 +0000
3470+++ modules/Ubuntu/Components/Pickers/MonthModel.qml 2015-03-06 08:22:20 +0000
3471@@ -14,8 +14,8 @@
3472 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3473 */
3474
3475-import QtQuick 2.0
3476-import Ubuntu.Components 1.1
3477+import QtQuick 2.4
3478+import Ubuntu.Components 1.2
3479
3480 PickerModelBase {
3481 circular: (count >= 11)
3482
3483=== modified file 'modules/Ubuntu/Components/Pickers/Picker.qml'
3484--- modules/Ubuntu/Components/Pickers/Picker.qml 2014-09-02 05:52:32 +0000
3485+++ modules/Ubuntu/Components/Pickers/Picker.qml 2015-03-06 08:22:20 +0000
3486@@ -14,8 +14,8 @@
3487 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3488 */
3489
3490-import QtQuick 2.0
3491-import Ubuntu.Components 1.1
3492+import QtQuick 2.4
3493+import Ubuntu.Components 1.2
3494
3495 /*!
3496 \qmltype Picker
3497@@ -34,8 +34,8 @@
3498
3499 Example:
3500 \qml
3501- import QtQuick 2.0
3502- import Ubuntu.Components 1.1
3503+ import QtQuick 2.4
3504+ import Ubuntu.Components 1.2
3505 import Ubuntu.Components.Pickers 1.0
3506
3507 Picker {
3508
3509=== modified file 'modules/Ubuntu/Components/Pickers/PickerDelegate.qml'
3510--- modules/Ubuntu/Components/Pickers/PickerDelegate.qml 2014-04-25 12:53:58 +0000
3511+++ modules/Ubuntu/Components/Pickers/PickerDelegate.qml 2015-03-06 08:22:20 +0000
3512@@ -14,8 +14,8 @@
3513 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3514 */
3515
3516-import QtQuick 2.0
3517-import Ubuntu.Components 1.1
3518+import QtQuick 2.4
3519+import Ubuntu.Components 1.2
3520
3521 /*!
3522 \qmltype PickerDelegate
3523
3524=== modified file 'modules/Ubuntu/Components/Pickers/PickerModelBase.qml'
3525--- modules/Ubuntu/Components/Pickers/PickerModelBase.qml 2014-03-06 10:46:17 +0000
3526+++ modules/Ubuntu/Components/Pickers/PickerModelBase.qml 2015-03-06 08:22:20 +0000
3527@@ -14,7 +14,7 @@
3528 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3529 */
3530
3531-import QtQuick 2.0
3532+import QtQuick 2.4
3533
3534 /*
3535 Base model type for DatePicker
3536
3537=== modified file 'modules/Ubuntu/Components/Pickers/PickerPanel.qml'
3538--- modules/Ubuntu/Components/Pickers/PickerPanel.qml 2014-09-03 08:17:24 +0000
3539+++ modules/Ubuntu/Components/Pickers/PickerPanel.qml 2015-03-06 08:22:20 +0000
3540@@ -15,9 +15,9 @@
3541 */
3542
3543 pragma Singleton
3544-import QtQuick 2.0
3545+import QtQuick 2.4
3546 import QtQuick.Window 2.0
3547-import Ubuntu.Components 1.1
3548+import Ubuntu.Components 1.2
3549 import Ubuntu.Components.ListItems 1.0
3550 import Ubuntu.Components.Popups 1.0
3551
3552@@ -32,8 +32,8 @@
3553 area or in a Popover, depending on the form factor, following the design guides
3554 on date pickers.
3555 \qml
3556- import QtQuick 2.0
3557- import Ubuntu.Components 1.1
3558+ import QtQuick 2.4
3559+ import Ubuntu.Components 1.2
3560
3561 MainWindow {
3562 width: units.gu(40)
3563
3564=== modified file 'modules/Ubuntu/Components/Pickers/PickerRow.qml'
3565--- modules/Ubuntu/Components/Pickers/PickerRow.qml 2014-05-07 10:42:31 +0000
3566+++ modules/Ubuntu/Components/Pickers/PickerRow.qml 2015-03-06 08:22:20 +0000
3567@@ -14,8 +14,8 @@
3568 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3569 */
3570
3571-import QtQuick 2.0
3572-import Ubuntu.Components 1.1
3573+import QtQuick 2.4
3574+import Ubuntu.Components 1.2
3575
3576 Row {
3577 id: row
3578
3579=== modified file 'modules/Ubuntu/Components/Pickers/SecondsModel.qml'
3580--- modules/Ubuntu/Components/Pickers/SecondsModel.qml 2014-04-23 08:50:20 +0000
3581+++ modules/Ubuntu/Components/Pickers/SecondsModel.qml 2015-03-06 08:22:20 +0000
3582@@ -14,8 +14,8 @@
3583 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3584 */
3585
3586-import QtQuick 2.0
3587-import Ubuntu.Components 1.1
3588+import QtQuick 2.4
3589+import Ubuntu.Components 1.2
3590
3591 PickerModelBase {
3592 property int from
3593
3594=== modified file 'modules/Ubuntu/Components/Pickers/YearModel.qml'
3595--- modules/Ubuntu/Components/Pickers/YearModel.qml 2014-04-23 08:50:20 +0000
3596+++ modules/Ubuntu/Components/Pickers/YearModel.qml 2015-03-06 08:22:20 +0000
3597@@ -14,8 +14,8 @@
3598 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3599 */
3600
3601-import QtQuick 2.0
3602-import Ubuntu.Components 1.1
3603+import QtQuick 2.4
3604+import Ubuntu.Components 1.2
3605
3606 PickerModelBase {
3607 // local properties
3608
3609=== modified file 'modules/Ubuntu/Components/Popups/ActionSelectionPopover.qml'
3610--- modules/Ubuntu/Components/Popups/ActionSelectionPopover.qml 2014-11-21 19:15:17 +0000
3611+++ modules/Ubuntu/Components/Popups/ActionSelectionPopover.qml 2015-03-06 08:22:20 +0000
3612@@ -14,8 +14,8 @@
3613 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3614 */
3615
3616-import QtQuick 2.0
3617-import Ubuntu.Components 1.1
3618+import QtQuick 2.4
3619+import Ubuntu.Components 1.2
3620 import Ubuntu.Components.ListItems 1.0
3621
3622 /*!
3623
3624=== modified file 'modules/Ubuntu/Components/Popups/ComposerSheet.qml'
3625--- modules/Ubuntu/Components/Popups/ComposerSheet.qml 2014-11-18 11:59:47 +0000
3626+++ modules/Ubuntu/Components/Popups/ComposerSheet.qml 2015-03-06 08:22:20 +0000
3627@@ -14,8 +14,8 @@
3628 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3629 */
3630
3631-import QtQuick 2.0
3632-import Ubuntu.Components 1.1
3633+import QtQuick 2.4
3634+import Ubuntu.Components 1.2
3635 /*!
3636 \qmltype ComposerSheet
3637 \inherits SheetBase
3638@@ -32,7 +32,7 @@
3639
3640 Example:
3641 \qml
3642- import Ubuntu.Components 1.1
3643+ import Ubuntu.Components 1.2
3644 import Ubuntu.Components.Popups 1.0
3645
3646 Item {
3647
3648=== modified file 'modules/Ubuntu/Components/Popups/DefaultSheet.qml'
3649--- modules/Ubuntu/Components/Popups/DefaultSheet.qml 2014-11-18 11:59:47 +0000
3650+++ modules/Ubuntu/Components/Popups/DefaultSheet.qml 2015-03-06 08:22:20 +0000
3651@@ -14,8 +14,8 @@
3652 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3653 */
3654
3655-import QtQuick 2.0
3656-import Ubuntu.Components 1.1
3657+import QtQuick 2.4
3658+import Ubuntu.Components 1.2
3659
3660 /*!
3661 \qmltype DefaultSheet
3662@@ -33,7 +33,7 @@
3663
3664 Example:
3665 \qml
3666- import Ubuntu.Components 1.1
3667+ import Ubuntu.Components 1.2
3668 import Ubuntu.Components.Popups 1.0
3669
3670 Item {
3671
3672=== modified file 'modules/Ubuntu/Components/Popups/Dialog.qml'
3673--- modules/Ubuntu/Components/Popups/Dialog.qml 2015-01-14 13:32:44 +0000
3674+++ modules/Ubuntu/Components/Popups/Dialog.qml 2015-03-06 08:22:20 +0000
3675@@ -14,8 +14,8 @@
3676 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3677 */
3678
3679-import QtQuick 2.0
3680-import Ubuntu.Components 1.1
3681+import QtQuick 2.4
3682+import Ubuntu.Components 1.2
3683 import "internalPopupUtils.js" as InternalPopupUtils
3684
3685 /*!
3686@@ -32,8 +32,8 @@
3687
3688 Example:
3689 \qml
3690- import QtQuick 2.0
3691- import Ubuntu.Components 1.1
3692+ import QtQuick 2.4
3693+ import Ubuntu.Components 1.2
3694 import Ubuntu.Components.Popups 1.0
3695
3696 Item {
3697
3698=== modified file 'modules/Ubuntu/Components/Popups/Popover.qml'
3699--- modules/Ubuntu/Components/Popups/Popover.qml 2014-11-25 15:39:38 +0000
3700+++ modules/Ubuntu/Components/Popups/Popover.qml 2015-03-06 08:22:20 +0000
3701@@ -14,9 +14,9 @@
3702 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3703 */
3704
3705-import QtQuick 2.0
3706+import QtQuick 2.4
3707 import "internalPopupUtils.js" as InternalPopupUtils
3708-import Ubuntu.Components 1.1
3709+import Ubuntu.Components 1.2
3710
3711 /*!
3712 \qmltype Popover
3713@@ -31,8 +31,8 @@
3714
3715 Example:
3716 \qml
3717- import QtQuick 2.0
3718- import Ubuntu.Components 1.1
3719+ import QtQuick 2.4
3720+ import Ubuntu.Components 1.2
3721 import Ubuntu.Components.ListItems 1.0 as ListItem
3722 import Ubuntu.Components.Popups 1.0
3723
3724@@ -289,4 +289,12 @@
3725 onHeightChanged: internal.updatePosition()
3726 /*! \internal */
3727 onRotatingChanged: hide()
3728+
3729+ Connections {
3730+ target: pointerTarget
3731+ onXChanged: internal.updatePosition()
3732+ onYChanged: internal.updatePosition()
3733+ onWidthChanged: internal.updatePosition()
3734+ onHeightChanged: internal.updatePosition()
3735+ }
3736 }
3737
3738=== modified file 'modules/Ubuntu/Components/Popups/PopupBase.qml'
3739--- modules/Ubuntu/Components/Popups/PopupBase.qml 2015-01-29 15:46:10 +0000
3740+++ modules/Ubuntu/Components/Popups/PopupBase.qml 2015-03-06 08:22:20 +0000
3741@@ -14,8 +14,8 @@
3742 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3743 */
3744
3745-import QtQuick 2.0
3746-import Ubuntu.Components 1.1
3747+import QtQuick 2.4
3748+import Ubuntu.Components 1.2
3749
3750 /*!
3751 \qmltype PopupBase
3752
3753=== modified file 'modules/Ubuntu/Components/Popups/SheetBase.qml'
3754--- modules/Ubuntu/Components/Popups/SheetBase.qml 2014-11-18 11:59:47 +0000
3755+++ modules/Ubuntu/Components/Popups/SheetBase.qml 2015-03-06 08:22:20 +0000
3756@@ -14,8 +14,8 @@
3757 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3758 */
3759
3760-import QtQuick 2.0
3761-import Ubuntu.Components 1.1
3762+import QtQuick 2.4
3763+import Ubuntu.Components 1.2
3764
3765 /*!
3766 \qmltype SheetBase
3767
3768=== modified file 'modules/Ubuntu/Components/ProgressBar10.qml'
3769--- modules/Ubuntu/Components/ProgressBar10.qml 2014-11-18 11:38:59 +0000
3770+++ modules/Ubuntu/Components/ProgressBar10.qml 2015-03-06 08:22:20 +0000
3771@@ -14,7 +14,7 @@
3772 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3773 */
3774
3775-import QtQuick 2.0
3776+import QtQuick 2.4
3777
3778 /*!
3779 \qmltype ProgressBar
3780
3781=== modified file 'modules/Ubuntu/Components/ProgressBar11.qml'
3782--- modules/Ubuntu/Components/ProgressBar11.qml 2014-06-23 12:52:52 +0000
3783+++ modules/Ubuntu/Components/ProgressBar11.qml 2015-03-06 08:22:20 +0000
3784@@ -14,7 +14,7 @@
3785 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3786 */
3787
3788-import QtQuick 2.0
3789+import QtQuick 2.4
3790
3791 ProgressBar {
3792 property bool showProgressPercentage: true
3793
3794=== modified file 'modules/Ubuntu/Components/PullToRefresh.qml'
3795--- modules/Ubuntu/Components/PullToRefresh.qml 2014-06-27 06:18:48 +0000
3796+++ modules/Ubuntu/Components/PullToRefresh.qml 2015-03-06 08:22:20 +0000
3797@@ -14,8 +14,8 @@
3798 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3799 */
3800
3801-import QtQuick 2.2
3802-import Ubuntu.Components 1.1
3803+import QtQuick 2.4
3804+import Ubuntu.Components 1.2
3805
3806 /*!
3807 \qmltype PullToRefresh
3808@@ -32,9 +32,9 @@
3809 component by defining the completion clause to the \l refreshing property.
3810
3811 \qml
3812- import QtQuick 2.2
3813+ import QtQuick 2.4
3814 import QtQuick.XmlListModel 2.0
3815- import Ubuntu.Components 1.1
3816+ import Ubuntu.Components 1.2
3817 import Ubuntu.Components.ListItems 1.0
3818
3819 MainView {
3820@@ -82,9 +82,9 @@
3821 to be shown by the component. Custom implementations can hold any component,
3822 which will be anchor filled to the component itself.
3823 \qml
3824- import QtQuick 2.2
3825+ import QtQuick 2.4
3826 import QtQuick.XmlListModel 2.0
3827- import Ubuntu.Components 1.1
3828+ import Ubuntu.Components 1.2
3829 import Ubuntu.Components.ListItems 1.0
3830
3831 MainView {
3832@@ -130,9 +130,9 @@
3833 \note When declared as child of Flickable, set parent to the flickable explicitly
3834 so the component does not land in the \c content of Flickable.
3835 \qml
3836- import QtQuick 2.2
3837+ import QtQuick 2.4
3838 import QtQuick.XmlListModel 2.0
3839- import Ubuntu.Components 1.1
3840+ import Ubuntu.Components 1.2
3841 import Ubuntu.Components.ListItems 1.0
3842
3843 MainView {
3844
3845=== modified file 'modules/Ubuntu/Components/Scrollbar.qml'
3846--- modules/Ubuntu/Components/Scrollbar.qml 2014-11-18 11:38:59 +0000
3847+++ modules/Ubuntu/Components/Scrollbar.qml 2015-03-06 08:22:20 +0000
3848@@ -14,7 +14,7 @@
3849 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3850 */
3851
3852-import QtQuick 2.0
3853+import QtQuick 2.4
3854
3855 /*!
3856 \qmltype ScrollBar
3857
3858=== modified file 'modules/Ubuntu/Components/Slider.qml'
3859--- modules/Ubuntu/Components/Slider.qml 2014-11-18 12:02:55 +0000
3860+++ modules/Ubuntu/Components/Slider.qml 2015-03-06 08:22:20 +0000
3861@@ -16,7 +16,7 @@
3862
3863 // FIXME(loicm) Add support for keyboard shortcuts (basically left/right).
3864
3865-import QtQuick 2.0
3866+import QtQuick 2.4
3867 import "mathUtils.js" as MathUtils
3868
3869 /*!
3870
3871=== modified file 'modules/Ubuntu/Components/StyledItem.qml'
3872--- modules/Ubuntu/Components/StyledItem.qml 2014-08-25 05:56:28 +0000
3873+++ modules/Ubuntu/Components/StyledItem.qml 2015-03-06 08:22:20 +0000
3874@@ -14,8 +14,8 @@
3875 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3876 */
3877
3878-import QtQuick 2.0
3879-import Ubuntu.Components 1.1
3880+import QtQuick 2.4
3881+import Ubuntu.Components 1.2
3882
3883 /*!
3884 \qmlabstract StyledItem
3885
3886=== modified file 'modules/Ubuntu/Components/Styles/ComboButtonStyle.qml'
3887--- modules/Ubuntu/Components/Styles/ComboButtonStyle.qml 2014-10-21 17:48:12 +0000
3888+++ modules/Ubuntu/Components/Styles/ComboButtonStyle.qml 2015-03-06 08:22:20 +0000
3889@@ -14,7 +14,7 @@
3890 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3891 */
3892
3893-import QtQuick 2.0
3894+import QtQuick 2.4
3895
3896 /*!
3897 \qmltype ComboButtonStyle
3898
3899=== modified file 'modules/Ubuntu/Components/Styles/PageHeadStyle.qml'
3900--- modules/Ubuntu/Components/Styles/PageHeadStyle.qml 2014-11-04 10:55:58 +0000
3901+++ modules/Ubuntu/Components/Styles/PageHeadStyle.qml 2015-03-06 08:22:20 +0000
3902@@ -13,7 +13,7 @@
3903 * You should have received a copy of the GNU Lesser General Public License
3904 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3905 */
3906-import QtQuick 2.0
3907+import QtQuick 2.4
3908
3909 /*!
3910 \qmltype PageHeadStyle
3911
3912=== modified file 'modules/Ubuntu/Components/Styles/PullToRefreshStyle.qml'
3913--- modules/Ubuntu/Components/Styles/PullToRefreshStyle.qml 2014-10-21 17:48:12 +0000
3914+++ modules/Ubuntu/Components/Styles/PullToRefreshStyle.qml 2015-03-06 08:22:20 +0000
3915@@ -14,7 +14,7 @@
3916 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3917 */
3918
3919-import QtQuick 2.2
3920+import QtQuick 2.4
3921
3922 /*!
3923 \qmltype PullToRefreshStyle
3924
3925=== modified file 'modules/Ubuntu/Components/Switch.qml'
3926--- modules/Ubuntu/Components/Switch.qml 2014-11-18 11:38:59 +0000
3927+++ modules/Ubuntu/Components/Switch.qml 2015-03-06 08:22:20 +0000
3928@@ -17,7 +17,7 @@
3929 // FIXME(loicm) It would be nice to have a draggable thumb to toggle the switch,
3930 // that needs to be validated with designers though.
3931
3932-import QtQuick 2.0
3933+import QtQuick 2.4
3934
3935 /*!
3936 \qmltype Switch
3937
3938=== modified file 'modules/Ubuntu/Components/Tab.qml'
3939--- modules/Ubuntu/Components/Tab.qml 2014-11-18 12:02:55 +0000
3940+++ modules/Ubuntu/Components/Tab.qml 2015-03-06 08:22:20 +0000
3941@@ -14,7 +14,7 @@
3942 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3943 */
3944
3945-import QtQuick 2.0
3946+import QtQuick 2.4
3947
3948 /*!
3949 \qmltype Tab
3950@@ -43,10 +43,63 @@
3951 property url iconSource
3952
3953 /*!
3954- The contents of the page. Use a \l Page or a Loader that loads an external \l Page.
3955+ The contents of the Tab. Use a \l Page or a Loader that instantiates a Component or
3956+ loads an external \l Page.
3957+ When using a Loader, do not set the anchors or dimensions of the Loader so that the
3958+ \l Page can control the height and prevent overlapping the header.
3959+ Example:
3960+ \qml
3961+ import QtQuick 2.4
3962+ import Ubuntu.Components 1.2
3963+ MainView {
3964+ width: units.gu(40)
3965+ height: units.gu(50)
3966+
3967+ Component {
3968+ id: pageComponent
3969+ Page {
3970+ Label {
3971+ anchors.centerIn: parent
3972+ text: "Loaded when tab is selected."
3973+ }
3974+ }
3975+ }
3976+ Tabs {
3977+ id: tabs
3978+ Tab {
3979+ title: i18n.tr("Simple page")
3980+ page: Page {
3981+ Label {
3982+ anchors.centerIn: parent
3983+ text: i18n.tr("Always loaded")
3984+ }
3985+ }
3986+ }
3987+ Tab {
3988+ id: loaderTab
3989+ title: i18n.tr("Page loader")
3990+ page: Loader {
3991+ // no anchors
3992+ id: loader
3993+ sourceComponent: tabs.selectedTab == loaderTab ? pageComponent : null
3994+ onStatusChanged: if (loader.status == Loader.Ready) console.log('Loaded')
3995+ }
3996+ }
3997+ }
3998+ }
3999+ \endqml
4000 */
4001 property Item page: null
4002
4003+ // In case the page is a Loader with a Page inside, the Loader needs to be
4004+ // anchored to the bottom of the Tab. Width and height are set by the Page.
4005+ Binding {
4006+ target: page
4007+ property: "anchors.bottom"
4008+ value: tab.bottom
4009+ when: page
4010+ }
4011+
4012 /*!
4013 \qmlproperty int index
4014 \readonly
4015
4016=== modified file 'modules/Ubuntu/Components/TabBar.qml'
4017--- modules/Ubuntu/Components/TabBar.qml 2014-08-21 05:24:14 +0000
4018+++ modules/Ubuntu/Components/TabBar.qml 2015-03-06 08:22:20 +0000
4019@@ -14,7 +14,7 @@
4020 * along with this program. If not, see <http://www.gnu.org/licenses/>.
4021 */
4022
4023-import QtQuick 2.0
4024+import QtQuick 2.4
4025
4026 /*!
4027 \qmltype TabBar
4028
4029=== modified file 'modules/Ubuntu/Components/Tabs.qml'
4030--- modules/Ubuntu/Components/Tabs.qml 2014-11-18 11:38:59 +0000
4031+++ modules/Ubuntu/Components/Tabs.qml 2015-03-06 08:22:20 +0000
4032@@ -14,7 +14,7 @@
4033 * along with this program. If not, see <http://www.gnu.org/licenses/>.
4034 */
4035
4036-import QtQuick 2.0
4037+import QtQuick 2.4
4038
4039 /*!
4040 \qmltype Tabs
4041@@ -32,8 +32,8 @@
4042
4043 Example:
4044 \qml
4045- import QtQuick 2.0
4046- import Ubuntu.Components 1.1
4047+ import QtQuick 2.4
4048+ import Ubuntu.Components 1.2
4049 import Ubuntu.Components.ListItems 1.0 as ListItem
4050
4051 MainView {
4052@@ -103,8 +103,8 @@
4053 \l PageStack, and pushing other pages on top of that, as is shown in the following example:
4054
4055 \qml
4056- import QtQuick 2.0
4057- import Ubuntu.Components 1.1
4058+ import QtQuick 2.4
4059+ import Ubuntu.Components 1.2
4060
4061 MainView {
4062 id: mainView
4063
4064=== modified file 'modules/Ubuntu/Components/TextArea.qml'
4065--- modules/Ubuntu/Components/TextArea.qml 2014-12-03 15:46:20 +0000
4066+++ modules/Ubuntu/Components/TextArea.qml 2015-03-06 08:22:20 +0000
4067@@ -14,8 +14,8 @@
4068 * along with this program. If not, see <http://www.gnu.org/licenses/>.
4069 */
4070
4071-import QtQuick 2.0
4072-import Ubuntu.Components 1.1 as Ubuntu
4073+import QtQuick 2.4
4074+import Ubuntu.Components 1.2 as Ubuntu
4075 import Ubuntu.Components.Popups 1.0
4076 import "mathUtils.js" as MathUtils
4077
4078
4079=== modified file 'modules/Ubuntu/Components/TextCursor.qml'
4080--- modules/Ubuntu/Components/TextCursor.qml 2014-11-26 09:57:47 +0000
4081+++ modules/Ubuntu/Components/TextCursor.qml 2015-03-06 08:22:20 +0000
4082@@ -14,8 +14,8 @@
4083 * along with this program. If not, see <http://www.gnu.org/licenses/>.
4084 */
4085
4086-import QtQuick 2.0
4087-import Ubuntu.Components 1.1 as Ubuntu
4088+import QtQuick 2.4
4089+import Ubuntu.Components 1.2 as Ubuntu
4090 import Ubuntu.Components.Popups 1.0
4091
4092 Ubuntu.StyledItem {
4093
4094=== modified file 'modules/Ubuntu/Components/TextField.qml'
4095--- modules/Ubuntu/Components/TextField.qml 2014-12-03 15:46:20 +0000
4096+++ modules/Ubuntu/Components/TextField.qml 2015-03-06 08:22:20 +0000
4097@@ -14,8 +14,8 @@
4098 * along with this program. If not, see <http://www.gnu.org/licenses/>.
4099 */
4100
4101-import QtQuick 2.0
4102-import Ubuntu.Components 1.1 as Ubuntu
4103+import QtQuick 2.4
4104+import Ubuntu.Components 1.2 as Ubuntu
4105 import Ubuntu.Components.Popups 1.0
4106
4107 /*!
4108@@ -526,8 +526,8 @@
4109 between 11 and 31 into the text input:
4110
4111 \qml
4112- import QtQuick 2.0
4113- import Ubuntu.Components 1.1
4114+ import QtQuick 2.4
4115+ import Ubuntu.Components 1.2
4116 TextField{
4117 validator: IntValidator{bottom: 11; top: 31;}
4118 focus: true
4119
4120=== modified file 'modules/Ubuntu/Components/TextInputPopover.qml'
4121--- modules/Ubuntu/Components/TextInputPopover.qml 2014-11-12 03:51:45 +0000
4122+++ modules/Ubuntu/Components/TextInputPopover.qml 2015-03-06 08:22:20 +0000
4123@@ -14,8 +14,8 @@
4124 * along with this program. If not, see <http://www.gnu.org/licenses/>.
4125 */
4126
4127-import QtQuick 2.0
4128-import Ubuntu.Components 1.1
4129+import QtQuick 2.4
4130+import Ubuntu.Components 1.2
4131 import Ubuntu.Components.Popups 1.0
4132
4133 Popover {
4134@@ -68,6 +68,11 @@
4135 popover.visible = false;
4136 }
4137
4138+ /*
4139+ Force positioning so that the popover is positioned in the screen while
4140+ the input is on the top of the screen
4141+ */
4142+ y: parent ? (parent.height - height) / 2 : 0
4143 autoClose: false
4144 contentHeight: row.childrenRect.height
4145 contentWidth: row.childrenRect.width
4146
4147=== modified file 'modules/Ubuntu/Components/Themes/Ambiance/ActivityIndicatorStyle.qml'
4148--- modules/Ubuntu/Components/Themes/Ambiance/ActivityIndicatorStyle.qml 2014-07-08 10:59:01 +0000
4149+++ modules/Ubuntu/Components/Themes/Ambiance/ActivityIndicatorStyle.qml 2015-03-06 08:22:20 +0000
4150@@ -14,8 +14,8 @@
4151 * along with this program. If not, see <http://www.gnu.org/licenses/>.
4152 */
4153
4154-import QtQuick 2.2
4155-import Ubuntu.Components 1.1
4156+import QtQuick 2.4
4157+import Ubuntu.Components 1.2
4158
4159 Image {
4160 id: container
4161@@ -28,12 +28,7 @@
4162 verticalAlignment: Image.AlignVCenter
4163 source: "artwork/spinner.png"
4164
4165- /*
4166- Changed from RotationAnimator to RotationAnimation to
4167- work around bug: https://bugs.launchpad.net/ubuntu-ui-toolkit/+bug/1338602
4168- "Activity Indicator crashes in QML/Widget mixed applications"
4169- */
4170- RotationAnimation on rotation {
4171+ RotationAnimator on rotation {
4172 running: styledItem.running
4173 from: 0
4174 to: 360
4175
4176=== modified file 'modules/Ubuntu/Components/Themes/Ambiance/BubbleShape.qml'
4177--- modules/Ubuntu/Components/Themes/Ambiance/BubbleShape.qml 2014-11-03 19:41:08 +0000
4178+++ modules/Ubuntu/Components/Themes/Ambiance/BubbleShape.qml 2015-03-06 08:22:20 +0000
4179@@ -14,8 +14,8 @@
4180 * along with this program. If not, see <http://www.gnu.org/licenses/>.
4181 */
4182
4183-import QtQuick 2.0
4184-import Ubuntu.Components 1.1
4185+import QtQuick 2.4
4186+import Ubuntu.Components 1.2
4187
4188 Item {
4189 id: bubbleShape
4190
4191=== modified file 'modules/Ubuntu/Components/Themes/Ambiance/ButtonForeground.qml'
4192--- modules/Ubuntu/Components/Themes/Ambiance/ButtonForeground.qml 2014-04-23 08:50:20 +0000
4193+++ modules/Ubuntu/Components/Themes/Ambiance/ButtonForeground.qml 2015-03-06 08:22:20 +0000
4194@@ -16,8 +16,8 @@
4195 * Author: Florian Boucault <florian.boucault@canonical.com>
4196 */
4197
4198-import QtQuick 2.0
4199-import Ubuntu.Components 1.1
4200+import QtQuick 2.4
4201+import Ubuntu.Components 1.2
4202
4203 Item {
4204 id: buttonForeground
4205
4206=== modified file 'modules/Ubuntu/Components/Themes/Ambiance/ButtonStyle.qml'
4207--- modules/Ubuntu/Components/Themes/Ambiance/ButtonStyle.qml 2014-08-26 14:12:52 +0000
4208+++ modules/Ubuntu/Components/Themes/Ambiance/ButtonStyle.qml 2015-03-06 08:22:20 +0000
4209@@ -16,8 +16,8 @@
4210 * Author: Florian Boucault <florian.boucault@canonical.com>
4211 */
4212
4213-import QtQuick 2.0
4214-import Ubuntu.Components 1.1
4215+import QtQuick 2.4
4216+import Ubuntu.Components 1.2
4217
4218 Item {
4219 id: buttonStyle
4220
4221=== modified file 'modules/Ubuntu/Components/Themes/Ambiance/CheckBoxStyle.qml'
4222--- modules/Ubuntu/Components/Themes/Ambiance/CheckBoxStyle.qml 2014-11-07 15:45:22 +0000
4223+++ modules/Ubuntu/Components/Themes/Ambiance/CheckBoxStyle.qml 2015-03-06 08:22:20 +0000
4224@@ -14,8 +14,8 @@
4225 * along with this program. If not, see <http://www.gnu.org/licenses/>.
4226 */
4227
4228-import QtQuick 2.0
4229-import Ubuntu.Components 1.1
4230+import QtQuick 2.4
4231+import Ubuntu.Components 1.2
4232
4233 Item {
4234 id: checkBoxStyle
4235
4236=== modified file 'modules/Ubuntu/Components/Themes/Ambiance/ComboButtonStyle.qml'
4237--- modules/Ubuntu/Components/Themes/Ambiance/ComboButtonStyle.qml 2014-04-29 06:27:42 +0000
4238+++ modules/Ubuntu/Components/Themes/Ambiance/ComboButtonStyle.qml 2015-03-06 08:22:20 +0000
4239@@ -14,9 +14,9 @@
4240 * along with this program. If not, see <http://www.gnu.org/licenses/>.
4241 */
4242
4243-import QtQuick 2.0
4244-import Ubuntu.Components 1.1
4245-import Ubuntu.Components.Styles 1.1 as Style
4246+import QtQuick 2.4
4247+import Ubuntu.Components 1.2
4248+import Ubuntu.Components.Styles 1.2 as Style
4249
4250 Style.ComboButtonStyle {
4251 id: comboStyle
4252
4253=== modified file 'modules/Ubuntu/Components/Themes/Ambiance/DatePickerStyle.qml'
4254--- modules/Ubuntu/Components/Themes/Ambiance/DatePickerStyle.qml 2014-04-23 08:50:20 +0000
4255+++ modules/Ubuntu/Components/Themes/Ambiance/DatePickerStyle.qml 2015-03-06 08:22:20 +0000
4256@@ -14,8 +14,8 @@
4257 * along with this program. If not, see <http://www.gnu.org/licenses/>.
4258 */
4259
4260-import QtQuick 2.0
4261-import Ubuntu.Components 1.1
4262+import QtQuick 2.4
4263+import Ubuntu.Components 1.2
4264 import Ubuntu.Components.ListItems 1.0
4265
4266 Item {
4267
4268=== modified file 'modules/Ubuntu/Components/Themes/Ambiance/DialerHandStyle.qml'
4269--- modules/Ubuntu/Components/Themes/Ambiance/DialerHandStyle.qml 2014-04-23 08:50:20 +0000
4270+++ modules/Ubuntu/Components/Themes/Ambiance/DialerHandStyle.qml 2015-03-06 08:22:20 +0000
4271@@ -14,8 +14,8 @@
4272 * along with this program. If not, see <http://www.gnu.org/licenses/>.
4273 */
4274
4275-import QtQuick 2.0
4276-import Ubuntu.Components 1.1
4277+import QtQuick 2.4
4278+import Ubuntu.Components 1.2
4279
4280 Item {
4281 // style API
4282
4283=== modified file 'modules/Ubuntu/Components/Themes/Ambiance/DialerStyle.qml'
4284--- modules/Ubuntu/Components/Themes/Ambiance/DialerStyle.qml 2014-04-23 08:50:20 +0000
4285+++ modules/Ubuntu/Components/Themes/Ambiance/DialerStyle.qml 2015-03-06 08:22:20 +0000
4286@@ -14,8 +14,8 @@
4287 * along with this program. If not, see <http://www.gnu.org/licenses/>.
4288 */
4289
4290-import QtQuick 2.0
4291-import Ubuntu.Components 1.1
4292+import QtQuick 2.4
4293+import Ubuntu.Components 1.2
4294 import QtGraphicalEffects 1.0
4295
4296 // FIXME: Replace this once UbuntuShape support for gradients and shading has landed
4297
4298=== modified file 'modules/Ubuntu/Components/Themes/Ambiance/DialogForegroundStyle.qml'
4299--- modules/Ubuntu/Components/Themes/Ambiance/DialogForegroundStyle.qml 2014-07-25 12:55:27 +0000
4300+++ modules/Ubuntu/Components/Themes/Ambiance/DialogForegroundStyle.qml 2015-03-06 08:22:20 +0000
4301@@ -14,8 +14,8 @@
4302 * along with this program. If not, see <http://www.gnu.org/licenses/>.
4303 */
4304
4305-import QtQuick 2.0
4306-import Ubuntu.Components 1.1
4307+import QtQuick 2.4
4308+import Ubuntu.Components 1.2
4309
4310 Item {
4311 id: dialogForegroundStyle
4312
4313=== modified file 'modules/Ubuntu/Components/Themes/Ambiance/HeadDividerStyle.qml'
4314--- modules/Ubuntu/Components/Themes/Ambiance/HeadDividerStyle.qml 2014-10-24 15:56:22 +0000
4315+++ modules/Ubuntu/Components/Themes/Ambiance/HeadDividerStyle.qml 2015-03-06 08:22:20 +0000
4316@@ -13,7 +13,7 @@
4317 * You should have received a copy of the GNU Lesser General Public License
4318 * along with this program. If not, see <http://www.gnu.org/licenses/>.
4319 */
4320-import QtQuick 2.2
4321+import QtQuick 2.4
4322
4323 Item {
4324 id: dividerStyle
4325
4326=== modified file 'modules/Ubuntu/Components/Themes/Ambiance/HeaderStyle.qml'
4327--- modules/Ubuntu/Components/Themes/Ambiance/HeaderStyle.qml 2014-04-25 05:28:37 +0000
4328+++ modules/Ubuntu/Components/Themes/Ambiance/HeaderStyle.qml 2015-03-06 08:22:20 +0000
4329@@ -13,8 +13,8 @@
4330 * You should have received a copy of the GNU Lesser General Public License
4331 * along with this program. If not, see <http://www.gnu.org/licenses/>.
4332 */
4333-import QtQuick 2.0
4334-import Ubuntu.Components 1.1
4335+import QtQuick 2.4
4336+import Ubuntu.Components 1.2
4337
4338 Item {
4339 id: headerStyle
4340
4341=== modified file 'modules/Ubuntu/Components/Themes/Ambiance/HighlightMagnifier.qml'
4342--- modules/Ubuntu/Components/Themes/Ambiance/HighlightMagnifier.qml 2013-12-04 10:49:19 +0000
4343+++ modules/Ubuntu/Components/Themes/Ambiance/HighlightMagnifier.qml 2015-03-06 08:22:20 +0000
4344@@ -14,7 +14,7 @@
4345 * along with this program. If not, see <http://www.gnu.org/licenses/>.
4346 */
4347
4348-import QtQuick 2.0
4349+import QtQuick 2.4
4350
4351 ShaderEffect {
4352 id: magnifier
4353
4354=== modified file 'modules/Ubuntu/Components/Themes/Ambiance/ListItemOptionSelectorStyle.qml'
4355--- modules/Ubuntu/Components/Themes/Ambiance/ListItemOptionSelectorStyle.qml 2014-08-26 14:12:52 +0000
4356+++ modules/Ubuntu/Components/Themes/Ambiance/ListItemOptionSelectorStyle.qml 2015-03-06 08:22:20 +0000
4357@@ -15,8 +15,8 @@
4358 *
4359 */
4360
4361-import QtQuick 2.0
4362-import Ubuntu.Components 1.1
4363+import QtQuick 2.4
4364+import Ubuntu.Components 1.2
4365
4366 Item {
4367 id: ambianceStyle
4368
4369=== removed file 'modules/Ubuntu/Components/Themes/Ambiance/ListItemPanel.qml'
4370--- modules/Ubuntu/Components/Themes/Ambiance/ListItemPanel.qml 2015-01-13 14:41:37 +0000
4371+++ modules/Ubuntu/Components/Themes/Ambiance/ListItemPanel.qml 1970-01-01 00:00:00 +0000
4372@@ -1,189 +0,0 @@
4373-/*
4374- * Copyright 2014 Canonical Ltd.
4375- *
4376- * This program is free software; you can redistribute it and/or modify
4377- * it under the terms of the GNU Lesser General Public License as published by
4378- * the Free Software Foundation; version 3.
4379- *
4380- * This program is distributed in the hope that it will be useful,
4381- * but WITHOUT ANY WARRANTY; without even the implied warranty of
4382- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4383- * GNU Lesser General Public License for more details.
4384- *
4385- * You should have received a copy of the GNU Lesser General Public License
4386- * along with this program. If not, see <http://www.gnu.org/licenses/>.
4387- */
4388-
4389-import QtQuick 2.2
4390-import Ubuntu.Components 1.2
4391-
4392-/*
4393- This component is the holder of the ListItem actions.
4394- */
4395-Item {
4396-
4397- // styling properties
4398- /*
4399- Color of the background.
4400- */
4401- // FIXME: use Palette colors instead when available
4402- property color backgroundColor: (leading ? UbuntuColors.red : "white")
4403-
4404- /*
4405- Color used in coloring the icons.
4406- */
4407- // FIXME: use Palette colors instead when available
4408- property color foregroundColor: leading ? "white" : UbuntuColors.darkGrey
4409-
4410- /*
4411- Specifies the width of the component visualizing the action.
4412- */
4413- property real paintedActionWidth: units.gu(2.5)
4414-
4415- // panel implementation
4416- id: panel
4417- width: Math.max(
4418- actionsRow.childrenRect.width,
4419- ListItem.visibleActions.length * MathUtils.clamp(paintedActionWidth, height, actionsRow.maxItemWidth))
4420-
4421- // used for module/autopilot testing
4422- objectName: "ListItemPanel" + (leading ? "Leading" : "Trailing")
4423-
4424- /*
4425- Specifies whether the panel is used to visualize leading or trailing actions.
4426- */
4427- readonly property bool leading: ListItem.panelStatus == ListItem.Leading
4428- readonly property real swipedOffset: leading ? width + x : ListItem.item.width - x;
4429- readonly property bool swiping: ListItem.item.highlighted && ListItem.item.contentMoving
4430-
4431- anchors {
4432- left: leading ? undefined : ListItem.item.contentItem.right
4433- right: leading ? ListItem.item.contentItem.left : undefined
4434- top: ListItem.item.contentItem.top
4435- bottom: ListItem.item.contentItem.bottom
4436- }
4437-
4438- Rectangle {
4439- objectName: "panel_background"
4440- anchors {
4441- fill: parent
4442- // add 4 times the overshoot margins to cover the background when tugged
4443- leftMargin: (leading && panel.ListItem.item) ? -units.gu(4 * panel.ListItem.item.swipeOvershoot) : 0
4444- rightMargin: (!leading && panel.ListItem.item) ? -units.gu(4 * panel.ListItem.item.swipeOvershoot) : 0
4445- }
4446- color: panel.backgroundColor
4447- }
4448-
4449- // handle action triggering
4450- Connections {
4451- target: panel.ListItem.item
4452- onContentMovementEnded: {
4453- if (actionsRow.selectedAction) {
4454- actionsRow.selectedAction.trigger(actionsRow.listItemIndex);
4455- actionsRow.listItemIndex = -1;
4456- actionsRow.selectedAction = null;
4457- }
4458- }
4459- }
4460-
4461- // track drag direction, so we know in which direction we should snap
4462- property real prevX: 0.0
4463- property real snapChangerLimit: 0.0
4464- property real threshold: units.gu(1)
4465- property bool snapIn: false
4466- onXChanged: {
4467- if (prevX < x && (snapChangerLimit <= x)) {
4468- snapIn = leading;
4469- snapChangerLimit = x - threshold;
4470- } else if (prevX > x && (x < snapChangerLimit)) {
4471- snapIn = !leading;
4472- snapChangerLimit = x + threshold;
4473- }
4474- prevX = x;
4475- }
4476- // default snapping!
4477- onSwipingChanged: {
4478- if (swiping) {
4479- // the dragging got started, set prevX
4480- prevX = panel.x;
4481- return;
4482- }
4483- if (!visible) {
4484- return;
4485- }
4486- // snap in if the offset is bigger than the overshoot and the direction of the drag is to reveal the panel
4487- var snapPos = (swipedOffset > units.gu(2) && snapIn) ? panel.width : 0.0;
4488- ListItem.snapToPosition(snapPos);
4489- }
4490-
4491- Row {
4492- id: actionsRow
4493- anchors {
4494- left: parent.left
4495- top: parent.top
4496- bottom: parent.bottom
4497- leftMargin: spacing
4498- }
4499-
4500- property real maxItemWidth: panel.ListItem.item.width / panel.ListItem.visibleActions.length
4501-
4502- property Action selectedAction
4503- property int listItemIndex: -1
4504-
4505- Repeater {
4506- model: panel.ListItem.visibleActions
4507- AbstractButton {
4508- id: actionButton
4509- action: modelData
4510- enabled: action.enabled
4511- opacity: action.enabled ? 1.0 : 0.5
4512- width: MathUtils.clamp(delegateLoader.item ? delegateLoader.item.width : 0, height, actionsRow.maxItemWidth)
4513- anchors {
4514- top: parent.top
4515- bottom: parent.bottom
4516- }
4517- function trigger() {
4518- actionsRow.selectedAction = modelData;
4519- actionsRow.listItemIndex = panel.ListItem.index;
4520- panel.ListItem.snapToPosition(0.0);
4521- }
4522-
4523- Rectangle {
4524- anchors.fill: parent
4525- color: Theme.palette.selected.background
4526- visible: pressed
4527- }
4528-
4529- Loader {
4530- id: delegateLoader
4531- height: parent.height
4532- sourceComponent: panel.ListItem.actions.delegate ? panel.ListItem.actions.delegate : defaultDelegate
4533- property Action action: modelData
4534- property int index: index
4535- property bool pressed: actionButton.pressed
4536- onItemChanged: {
4537- // use action's objectName to identify the visualized action
4538- if (item && item.objectName === "") {
4539- item.objectName = modelData.objectName;
4540- actionButton.objectName = "actionbutton_" + modelData.objectName
4541- }
4542- }
4543- }
4544- }
4545- }
4546- }
4547-
4548- Component {
4549- id: defaultDelegate
4550- Item {
4551- width: height
4552- Icon {
4553- width: panel.paintedActionWidth
4554- height: width
4555- name: action.iconName
4556- color: panel.foregroundColor
4557- anchors.centerIn: parent
4558- }
4559- }
4560- }
4561-}
4562
4563=== modified file 'modules/Ubuntu/Components/Themes/Ambiance/ListItemStyle.qml'
4564--- modules/Ubuntu/Components/Themes/Ambiance/ListItemStyle.qml 2015-01-12 15:44:59 +0000
4565+++ modules/Ubuntu/Components/Themes/Ambiance/ListItemStyle.qml 2015-03-06 08:22:20 +0000
4566@@ -1,5 +1,5 @@
4567 /*
4568- * Copyright 2014 Canonical Ltd.
4569+ * Copyright 2014-2015 Canonical Ltd.
4570 *
4571 * This program is free software; you can redistribute it and/or modify
4572 * it under the terms of the GNU Lesser General Public License as published by
4573@@ -14,22 +14,400 @@
4574 * along with this program. If not, see <http://www.gnu.org/licenses/>.
4575 */
4576
4577-import QtQuick 2.3
4578+import QtQuick 2.4
4579 import Ubuntu.Components.Styles 1.2 as Styles
4580 import Ubuntu.Components 1.2
4581
4582 Styles.ListItemStyle {
4583
4584- swipeOvershoot: units.gu(2)
4585- actionsDelegate: ListItemPanel{}
4586-
4587- snapAnimation: PropertyAnimation {
4588+ id: listItemStyle
4589+ /*
4590+ * Take over the ListItem's index context property as repeater used in panel
4591+ * overrides the property.
4592+ */
4593+ readonly property int listItemIndex: index
4594+
4595+ // anchoring
4596+ anchors {
4597+ top: parent ? parent.top : undefined
4598+ bottom: parent ? parent.bottom : undefined
4599+ bottomMargin: styledItem.divider.visible ? styledItem.divider.height : 0
4600+ left: styledItem.contentItem.left
4601+ leftMargin: -styledItem.contentItem.anchors.leftMargin
4602+ right: styledItem.contentItem.right
4603+ rightMargin: -styledItem.contentItem.anchors.rightMargin
4604+ }
4605+ LayoutMirroring.childrenInherit: true
4606+
4607+ // leading/trailing panels
4608+ Component {
4609+ id: panelComponent
4610+ Rectangle {
4611+ id: panel
4612+ objectName: "ListItemPanel" + (leading ? "Leading" : "Trailing")
4613+ readonly property real panelWidth: actionsRow.width
4614+
4615+ // FIXME use theme palette colors once stabilized
4616+ color: leading ? UbuntuColors.red : "white"
4617+ anchors.fill: parent
4618+ width: parent ? parent.width : 0
4619+
4620+ readonly property ListItemActions itemActions: leading ? styledItem.leadingActions : styledItem.trailingActions
4621+
4622+ Row {
4623+ id: actionsRow
4624+ anchors {
4625+ left: leading ? undefined : parent.left
4626+ right: leading ? parent.right : undefined
4627+ top: parent.top
4628+ bottom: parent.bottom
4629+ leftMargin: spacing
4630+ }
4631+
4632+ readonly property real maxItemWidth: parent.width / itemActions.actions.length
4633+
4634+ Repeater {
4635+ model: itemActions.actions
4636+ AbstractButton {
4637+ id: actionButton
4638+ action: modelData
4639+ enabled: action.enabled
4640+ opacity: action.enabled ? 1.0 : 0.5
4641+ width: MathUtils.clamp(delegateLoader.item ? delegateLoader.item.width : 0, height, actionsRow.maxItemWidth)
4642+ anchors {
4643+ top: parent ? parent.top : undefined
4644+ bottom: parent ? parent.bottom : undefined
4645+ }
4646+ function trigger() {
4647+ internals.selectedAction = modelData;
4648+ listItemStyle.rebound();
4649+ }
4650+
4651+ Rectangle {
4652+ anchors.fill: parent
4653+ color: Theme.palette.selected.background
4654+ visible: pressed
4655+ }
4656+
4657+ Loader {
4658+ id: delegateLoader
4659+ height: parent.height
4660+ sourceComponent: itemActions.delegate ? itemActions.delegate : defaultDelegate
4661+ property Action action: modelData
4662+ property int index: index
4663+ property bool pressed: actionButton.pressed
4664+ onItemChanged: {
4665+ // use action's objectName to identify the visualized action
4666+ if (item && item.objectName === "") {
4667+ item.objectName = modelData.objectName;
4668+ actionButton.objectName = "actionbutton_" + modelData.objectName
4669+ }
4670+ }
4671+ }
4672+ }
4673+ }
4674+ }
4675+
4676+ Component {
4677+ id: defaultDelegate
4678+ Item {
4679+ width: height
4680+ Icon {
4681+ width: units.gu(2.5)
4682+ height: width
4683+ name: action.iconName
4684+ // FIXME use theme palette colors once stabilized
4685+ color: leading ? "white" : UbuntuColors.darkGrey
4686+ anchors.centerIn: parent
4687+ }
4688+ }
4689+ }
4690+ }
4691+ }
4692+ // the selection/multiselection panel
4693+ Component {
4694+ id: selectionDelegate
4695+ Item {
4696+ id: selectPanel
4697+ objectName: "selection_panel" + listItemIndex
4698+ anchors.fill: parent ? parent : undefined
4699+
4700+ CheckBox {
4701+ id: checkbox
4702+ opacity: 0
4703+ // for unit and autopilot tests
4704+ objectName: "listitem_select"
4705+ anchors.centerIn: parent
4706+ // for the initial value
4707+ checked: styledItem.selected
4708+ onCheckedChanged: styledItem.selected = checked;
4709+ }
4710+
4711+ states: State {
4712+ name: "enabled"
4713+ when: loaded && styledItem.selectMode
4714+ PropertyChanges {
4715+ target: checkbox
4716+ opacity: 1.0
4717+ }
4718+ }
4719+ transitions: Transition {
4720+ from: ""
4721+ to: "*"
4722+ reversible: true
4723+ enabled: listItemStyle.animatePanels
4724+ OpacityAnimator {
4725+ easing: UbuntuAnimation.StandardEasing
4726+ duration: UbuntuAnimation.FastDuration
4727+ }
4728+ }
4729+ }
4730+ }
4731+ // drag panel
4732+ Component {
4733+ id: dragDelegate
4734+ Item {
4735+ id: dragPanel
4736+ objectName: "drag_panel" + index
4737+ anchors.fill: parent ? parent : undefined
4738+ Icon {
4739+ objectName: "icon"
4740+ id: dragIcon
4741+ anchors.centerIn: parent
4742+ width: units.gu(3)
4743+ height: width
4744+ name: "view-grid-symbolic"
4745+ opacity: 0.0
4746+ scale: 0.5
4747+ }
4748+ Binding {
4749+ target: listItemStyle
4750+ property: "dragPanel"
4751+ value: dragPanel
4752+ }
4753+
4754+ states: State {
4755+ name: "enabled"
4756+ when: loaded && styledItem.dragMode
4757+ PropertyChanges {
4758+ target: dragIcon
4759+ opacity: 1.0
4760+ scale: 1.0
4761+ }
4762+ }
4763+ transitions: Transition {
4764+ from: ""
4765+ to: "*"
4766+ reversible: true
4767+ enabled: listItemStyle.animatePanels
4768+ ParallelAnimation {
4769+ OpacityAnimator {
4770+ easing: UbuntuAnimation.StandardEasing
4771+ duration: UbuntuAnimation.FastDuration
4772+ }
4773+ ScaleAnimator {
4774+ easing: UbuntuAnimation.StandardEasing
4775+ duration: UbuntuAnimation.FastDuration
4776+ }
4777+ }
4778+ }
4779+ }
4780+ }
4781+
4782+ // leading panel loader
4783+ Loader {
4784+ id: leadingLoader
4785+ objectName: "leading_loader"
4786+ anchors {
4787+ top: parent.top
4788+ bottom: parent.bottom
4789+ right: parent.left
4790+ }
4791+ width: parent.width
4792+ sourceComponent: internals.swiped && styledItem.leadingActions && styledItem.leadingActions.actions.length > 0 ?
4793+ panelComponent : null
4794+ // context properties used in delegates
4795+ readonly property bool leading: true
4796+ readonly property bool loaded: status == Loader.Ready
4797+
4798+ // panel states
4799+ states: [
4800+ State {
4801+ name: "selectable"
4802+ when: styledItem.selectMode
4803+ PropertyChanges {
4804+ target: leadingLoader
4805+ sourceComponent: selectionDelegate
4806+ width: units.gu(5)
4807+ }
4808+ PropertyChanges {
4809+ target: listItemStyle
4810+ anchors.leftMargin: 0
4811+ }
4812+ PropertyChanges {
4813+ target: styledItem.contentItem
4814+ anchors.leftMargin: units.gu(5)
4815+ }
4816+ }
4817+ ]
4818+ transitions: Transition {
4819+ from: ""
4820+ to: "selectable"
4821+ reversible: true
4822+ enabled: listItemStyle.animatePanels
4823+ PropertyAnimation {
4824+ target: styledItem.contentItem
4825+ properties: "anchors.leftMargin"
4826+ easing: UbuntuAnimation.StandardEasing
4827+ duration: UbuntuAnimation.FastDuration
4828+ }
4829+ }
4830+ }
4831+ // trailing panel loader
4832+ Loader {
4833+ id: trailingLoader
4834+ objectName: "trailing_loader"
4835+ anchors {
4836+ top: parent.top
4837+ bottom: parent.bottom
4838+ left: parent.right
4839+ }
4840+ width: parent.width
4841+ sourceComponent: internals.swiped && styledItem.trailingActions && styledItem.trailingActions.actions.length > 0 ?
4842+ panelComponent : null
4843+ // context properties used in delegates
4844+ readonly property bool leading: false
4845+ readonly property bool loaded: status == Loader.Ready
4846+
4847+ // panel states
4848+ states: State {
4849+ name: "draggable"
4850+ when: styledItem.dragMode
4851+ PropertyChanges {
4852+ target: trailingLoader
4853+ sourceComponent: dragDelegate
4854+ width: units.gu(5)
4855+ }
4856+ PropertyChanges {
4857+ target: listItemStyle
4858+ anchors.rightMargin: 0
4859+ }
4860+ PropertyChanges {
4861+ target: styledItem.contentItem
4862+ anchors.rightMargin: units.gu(5)
4863+ }
4864+ }
4865+ transitions: Transition {
4866+ from: ""
4867+ to: "*"
4868+ reversible: true
4869+ enabled: listItemStyle.animatePanels
4870+ PropertyAnimation {
4871+ target: styledItem.contentItem
4872+ properties: "anchors.rightMargin"
4873+ easing: UbuntuAnimation.StandardEasing
4874+ duration: UbuntuAnimation.FastDuration
4875+ }
4876+ }
4877+ }
4878+
4879+ // internals
4880+ QtObject {
4881+ id: internals
4882+ // action triggered
4883+ property Action selectedAction
4884+ // swipe handling
4885+ readonly property bool swiped: listItemStyle.x != styledItem.x && !styledItem.selectMode && !styledItem.dragMode
4886+ readonly property Item swipedPanel: leadingPanel ? leadingLoader.item : trailingLoader.item
4887+ readonly property bool leadingPanel: listItemStyle.LayoutMirroring.enabled ? (listItemStyle.x < 0) : (listItemStyle.x > 0)
4888+ readonly property real swipedOffset: (leadingPanel ? listItemStyle.x : -listItemStyle.x) *
4889+ (listItemStyle.LayoutMirroring.enabled ? -1 : 1)
4890+ readonly property real panelWidth: swipedPanel && swipedPanel.hasOwnProperty("panelWidth") ? swipedPanel.panelWidth : 0
4891+ property real prevX: 0.0
4892+ property real snapChangerLimit: 0.0
4893+ readonly property real threshold: units.gu(1.5)
4894+ property bool snapIn: false
4895+
4896+ // update snap direction
4897+ function updateSnapDirection() {
4898+ if (prevX < listItemStyle.x && (snapChangerLimit <= listItemStyle.x)) {
4899+ snapIn = (listItemStyle.LayoutMirroring.enabled !== leadingPanel);
4900+ snapChangerLimit = listItemStyle.x - threshold;
4901+ } else if (prevX > listItemStyle.x && (listItemStyle.x < snapChangerLimit)) {
4902+ snapIn = (listItemStyle.LayoutMirroring.enabled === leadingPanel);
4903+ snapChangerLimit = listItemStyle.x + threshold;
4904+ }
4905+ prevX = listItemStyle.x;
4906+ }
4907+ // perform snapIn/Out
4908+ function snap() {
4909+ var snapPos = (swipedOffset > units.gu(2) && snapIn) ? panelWidth : 0.0;
4910+ snapPos *= leadingPanel ? 1 : -1;
4911+ // invert snapPos on RTL
4912+ snapPos *= listItemStyle.LayoutMirroring.enabled ? -1 : 1;
4913+ snapAnimation.snapTo(snapPos);
4914+ }
4915+ // handle elasticity on overshoot
4916+ function overshoot(event) {
4917+ var offset = event.content.x - styledItem.contentItem.anchors.leftMargin;
4918+ offset *= leadingPanel ? 1 : -1;
4919+ // invert offset on RTL
4920+ offset *= listItemStyle.LayoutMirroring.enabled ? -1 : 1;
4921+ if (offset > panelWidth) {
4922+ // do elastic move
4923+ event.content.x = styledItem.contentItem.x + (event.to.x - event.from.x) / 2;
4924+ }
4925+ }
4926+ }
4927+ snapAnimation: SmoothedAnimation {
4928+ objectName: "snap_animation"
4929+ target: styledItem.contentItem
4930 property: "x"
4931- easing {
4932- type: Easing.OutElastic
4933- period: 0.5
4934- }
4935- duration: UbuntuAnimation.BriskDuration
4936- }
4937-
4938+ // use 50GU/second velocity
4939+ velocity: units.gu(60)
4940+ onStopped: {
4941+ // trigger action
4942+ if (to == styledItem.contentItem.anchors.leftMargin && internals.selectedAction) {
4943+ internals.selectedAction.trigger(listItemIndex);
4944+ internals.selectedAction = null;
4945+ }
4946+ }
4947+ // animated snapping
4948+ function snapTo(pos) {
4949+ if (pos == to && styledItem.contentItem.x == to) {
4950+ return;
4951+ }
4952+
4953+ stop();
4954+ from = styledItem.contentItem.x;
4955+ if (!pos) {
4956+ pos = styledItem.contentItem.anchors.leftMargin;
4957+ }
4958+ to = pos;
4959+ start();
4960+ }
4961+ }
4962+
4963+ // simple drop animation
4964+ dropAnimation: SmoothedAnimation {
4965+ properties: "y"
4966+ velocity: units.gu(60)
4967+ }
4968+
4969+ onXChanged: internals.updateSnapDirection()
4970+ // overriding default functions
4971+ function swipeEvent(event) {
4972+ if (event.status == SwipeEvent.Started) {
4973+ internals.prevX = x;
4974+ snapAnimation.stop();
4975+ } else if (event.status == SwipeEvent.Finished) {
4976+ internals.snap();
4977+ } else if (event.status == SwipeEvent.Updated) {
4978+ // handle elasticity when overshooting
4979+ internals.overshoot(event)
4980+ }
4981+ }
4982+ function rebound() {
4983+ snapAnimation.snapTo(0);
4984+ }
4985 }
4986
4987=== modified file 'modules/Ubuntu/Components/Themes/Ambiance/MainViewStyle.qml'
4988--- modules/Ubuntu/Components/Themes/Ambiance/MainViewStyle.qml 2014-12-04 07:18:58 +0000
4989+++ modules/Ubuntu/Components/Themes/Ambiance/MainViewStyle.qml 2015-03-06 08:22:20 +0000
4990@@ -13,8 +13,8 @@
4991 * You should have received a copy of the GNU Lesser General Public License
4992 * along with this program. If not, see <http://www.gnu.org/licenses/>.
4993 */
4994-import QtQuick 2.0
4995-import Ubuntu.Components 1.1
4996+import QtQuick 2.4
4997+import Ubuntu.Components 1.2
4998
4999 Item {
5000 // styling properties
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to status/vote changes: