From f5dc26d0bcba854b2be503076bacb9508b897aa5 Mon Sep 17 00:00:00 2001 From: Nikita Krupenko Date: Sat, 20 Feb 2016 18:09:12 +0200 Subject: Do not limit ComboBox menu to predefined value This allows ComboBox menu to occupy more screen space and use the window size as limit. Task-number: QTBUG-50758 Change-Id: If430338f7baa291406f3ad0657d0cb267e17a3a2 Reviewed-by: J-P Nurmi --- src/imports/controls/ComboBox.qml | 2 +- src/imports/controls/material/ComboBox.qml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/imports/controls/ComboBox.qml b/src/imports/controls/ComboBox.qml index 189eed92..2745a0d8 100644 --- a/src/imports/controls/ComboBox.qml +++ b/src/imports/controls/ComboBox.qml @@ -100,7 +100,7 @@ T.ComboBox { popup: T.Popup { y: control.height - 1 implicitWidth: control.width - implicitHeight: Math.min(396, listview.contentHeight) + implicitHeight: listview.contentHeight topMargin: 6 bottomMargin: 6 diff --git a/src/imports/controls/material/ComboBox.qml b/src/imports/controls/material/ComboBox.qml index eb637ef2..7f47672e 100644 --- a/src/imports/controls/material/ComboBox.qml +++ b/src/imports/controls/material/ComboBox.qml @@ -108,7 +108,7 @@ T.ComboBox { popup: T.Popup { y: control.height implicitWidth: control.width - implicitHeight: Math.min(396, listview.contentHeight) + implicitHeight: listview.contentHeight transformOrigin: Item.Top topMargin: 12 bottomMargin: 12 -- cgit v1.2.3 From 08344012fce59dc50d18778acc9861c5e242ea09 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Mon, 22 Feb 2016 11:31:27 +0100 Subject: Add icons for the QML Designer Change-Id: If5a2e766eff51fb21d81c44f8313d7fdc2a67678 Task-number: QTBUG-50801 Reviewed-by: Mitch Curtis --- src/imports/controls/designer/designer.pri | 3 +- .../designer/images/busyindicator-icon.png | Bin 0 -> 1238 bytes .../designer/images/busyindicator-icon16.png | Bin 0 -> 1203 bytes .../designer/images/busyindicator-icon16@2x.png | Bin 0 -> 1345 bytes .../designer/images/busyindicator-icon@2x.png | Bin 0 -> 1324 bytes .../controls/designer/images/button-icon.png | Bin 0 -> 1046 bytes .../controls/designer/images/button-icon16.png | Bin 0 -> 1037 bytes .../controls/designer/images/button-icon16@2x.png | Bin 0 -> 1067 bytes .../controls/designer/images/button-icon@2x.png | Bin 0 -> 1089 bytes .../controls/designer/images/checkbox-icon.png | Bin 0 -> 1165 bytes .../controls/designer/images/checkbox-icon16.png | Bin 0 -> 1131 bytes .../designer/images/checkbox-icon16@2x.png | Bin 0 -> 1219 bytes .../controls/designer/images/checkbox-icon@2x.png | Bin 0 -> 1275 bytes .../controls/designer/images/combobox-icon.png | Bin 0 -> 1116 bytes .../controls/designer/images/combobox-icon16.png | Bin 0 -> 1125 bytes .../designer/images/combobox-icon16@2x.png | Bin 0 -> 1148 bytes .../controls/designer/images/combobox-icon@2x.png | Bin 0 -> 1156 bytes src/imports/controls/designer/images/dial-icon.png | Bin 0 -> 1352 bytes .../controls/designer/images/dial-icon16.png | Bin 0 -> 1249 bytes .../controls/designer/images/dial-icon16@2x.png | Bin 0 -> 1548 bytes .../controls/designer/images/dial-icon@2x.png | Bin 0 -> 1926 bytes .../controls/designer/images/frame-icon.png | Bin 0 -> 1070 bytes .../controls/designer/images/frame-icon16.png | Bin 0 -> 1060 bytes .../controls/designer/images/frame-icon16@2x.png | Bin 0 -> 1078 bytes .../controls/designer/images/frame-icon@2x.png | Bin 0 -> 1098 bytes .../controls/designer/images/groupbox-icon.png | Bin 0 -> 1073 bytes .../controls/designer/images/groupbox-icon16.png | Bin 0 -> 1063 bytes .../designer/images/groupbox-icon16@2x.png | Bin 0 -> 1082 bytes .../controls/designer/images/groupbox-icon@2x.png | Bin 0 -> 1106 bytes .../controls/designer/images/itemdelegate-icon.png | Bin 0 -> 1065 bytes .../designer/images/itemdelegate-icon16.png | Bin 0 -> 1056 bytes .../designer/images/itemdelegate-icon16@2x.png | Bin 0 -> 1077 bytes .../designer/images/itemdelegate-icon@2x.png | Bin 0 -> 1102 bytes .../controls/designer/images/label-icon.png | Bin 0 -> 1148 bytes .../controls/designer/images/label-icon16.png | Bin 0 -> 1136 bytes .../controls/designer/images/label-icon16@2x.png | Bin 0 -> 1203 bytes .../controls/designer/images/label-icon@2x.png | Bin 0 -> 1247 bytes .../designer/images/pageindicator-icon.png | Bin 0 -> 1131 bytes .../designer/images/pageindicator-icon16.png | Bin 0 -> 1114 bytes .../designer/images/pageindicator-icon16@2x.png | Bin 0 -> 1159 bytes .../designer/images/pageindicator-icon@2x.png | Bin 0 -> 1197 bytes src/imports/controls/designer/images/pane-icon.png | Bin 0 -> 1042 bytes .../controls/designer/images/pane-icon16.png | Bin 0 -> 1032 bytes .../controls/designer/images/pane-icon16@2x.png | Bin 0 -> 1052 bytes .../controls/designer/images/pane-icon@2x.png | Bin 0 -> 1074 bytes .../controls/designer/images/placeholder-icon.png | Bin 0 -> 1041 bytes .../designer/images/placeholder-icon16.png | Bin 0 -> 1030 bytes .../designer/images/placeholder-icon16@2x.png | Bin 0 -> 1058 bytes .../designer/images/placeholder-icon@2x.png | Bin 0 -> 1078 bytes .../controls/designer/images/progressbar-icon.png | Bin 0 -> 1040 bytes .../designer/images/progressbar-icon16.png | Bin 0 -> 1031 bytes .../designer/images/progressbar-icon16@2x.png | Bin 0 -> 1060 bytes .../designer/images/progressbar-icon@2x.png | Bin 0 -> 1079 bytes .../controls/designer/images/radiobutton-icon.png | Bin 0 -> 1401 bytes .../designer/images/radiobutton-icon16.png | Bin 0 -> 1228 bytes .../designer/images/radiobutton-icon16@2x.png | Bin 0 -> 1578 bytes .../designer/images/radiobutton-icon@2x.png | Bin 0 -> 1858 bytes .../controls/designer/images/slider-icon.png | Bin 0 -> 1184 bytes .../controls/designer/images/slider-icon16.png | Bin 0 -> 1124 bytes .../controls/designer/images/slider-icon16@2x.png | Bin 0 -> 1358 bytes .../controls/designer/images/slider-icon@2x.png | Bin 0 -> 1540 bytes .../controls/designer/images/spinbox-icon.png | Bin 0 -> 1105 bytes .../controls/designer/images/spinbox-icon16.png | Bin 0 -> 1075 bytes .../controls/designer/images/spinbox-icon16@2x.png | Bin 0 -> 1115 bytes .../controls/designer/images/spinbox-icon@2x.png | Bin 0 -> 1165 bytes .../controls/designer/images/switch-icon.png | Bin 0 -> 1197 bytes .../controls/designer/images/switch-icon16.png | Bin 0 -> 1109 bytes .../controls/designer/images/switch-icon16@2x.png | Bin 0 -> 1254 bytes .../controls/designer/images/switch-icon@2x.png | Bin 0 -> 1407 bytes .../controls/designer/images/textarea-icon.png | Bin 0 -> 1107 bytes .../controls/designer/images/textarea-icon16.png | Bin 0 -> 1106 bytes .../designer/images/textarea-icon16@2x.png | Bin 0 -> 1119 bytes .../controls/designer/images/textarea-icon@2x.png | Bin 0 -> 1147 bytes .../controls/designer/images/textfield-icon.png | Bin 0 -> 1101 bytes .../controls/designer/images/textfield-icon16.png | Bin 0 -> 1084 bytes .../designer/images/textfield-icon16@2x.png | Bin 0 -> 1099 bytes .../controls/designer/images/textfield-icon@2x.png | Bin 0 -> 1140 bytes src/imports/controls/designer/images/todo.png | Bin 169 -> 0 bytes src/imports/controls/designer/images/todo16.png | Bin 160 -> 0 bytes .../controls/designer/images/toolbar-icon.png | Bin 0 -> 1058 bytes .../controls/designer/images/toolbar-icon16.png | Bin 0 -> 1047 bytes .../controls/designer/images/toolbar-icon16@2x.png | Bin 0 -> 1069 bytes .../controls/designer/images/toolbar-icon@2x.png | Bin 0 -> 1093 bytes .../controls/designer/images/toolbutton-icon.png | Bin 0 -> 1074 bytes .../controls/designer/images/toolbutton-icon16.png | Bin 0 -> 1051 bytes .../designer/images/toolbutton-icon16@2x.png | Bin 0 -> 1081 bytes .../designer/images/toolbutton-icon@2x.png | Bin 0 -> 1114 bytes .../controls/designer/images/tumbler-icon.png | Bin 0 -> 1115 bytes .../controls/designer/images/tumbler-icon16.png | Bin 0 -> 1095 bytes .../controls/designer/images/tumbler-icon16@2x.png | Bin 0 -> 1127 bytes .../controls/designer/images/tumbler-icon@2x.png | Bin 0 -> 1153 bytes .../controls/designer/qtlabscontrols.metainfo | 84 ++++++++++----------- 92 files changed, 43 insertions(+), 44 deletions(-) create mode 100644 src/imports/controls/designer/images/busyindicator-icon.png create mode 100644 src/imports/controls/designer/images/busyindicator-icon16.png create mode 100644 src/imports/controls/designer/images/busyindicator-icon16@2x.png create mode 100644 src/imports/controls/designer/images/busyindicator-icon@2x.png create mode 100644 src/imports/controls/designer/images/button-icon.png create mode 100644 src/imports/controls/designer/images/button-icon16.png create mode 100644 src/imports/controls/designer/images/button-icon16@2x.png create mode 100644 src/imports/controls/designer/images/button-icon@2x.png create mode 100644 src/imports/controls/designer/images/checkbox-icon.png create mode 100644 src/imports/controls/designer/images/checkbox-icon16.png create mode 100644 src/imports/controls/designer/images/checkbox-icon16@2x.png create mode 100644 src/imports/controls/designer/images/checkbox-icon@2x.png create mode 100644 src/imports/controls/designer/images/combobox-icon.png create mode 100644 src/imports/controls/designer/images/combobox-icon16.png create mode 100644 src/imports/controls/designer/images/combobox-icon16@2x.png create mode 100644 src/imports/controls/designer/images/combobox-icon@2x.png create mode 100644 src/imports/controls/designer/images/dial-icon.png create mode 100644 src/imports/controls/designer/images/dial-icon16.png create mode 100644 src/imports/controls/designer/images/dial-icon16@2x.png create mode 100644 src/imports/controls/designer/images/dial-icon@2x.png create mode 100644 src/imports/controls/designer/images/frame-icon.png create mode 100644 src/imports/controls/designer/images/frame-icon16.png create mode 100644 src/imports/controls/designer/images/frame-icon16@2x.png create mode 100644 src/imports/controls/designer/images/frame-icon@2x.png create mode 100644 src/imports/controls/designer/images/groupbox-icon.png create mode 100644 src/imports/controls/designer/images/groupbox-icon16.png create mode 100644 src/imports/controls/designer/images/groupbox-icon16@2x.png create mode 100644 src/imports/controls/designer/images/groupbox-icon@2x.png create mode 100644 src/imports/controls/designer/images/itemdelegate-icon.png create mode 100644 src/imports/controls/designer/images/itemdelegate-icon16.png create mode 100644 src/imports/controls/designer/images/itemdelegate-icon16@2x.png create mode 100644 src/imports/controls/designer/images/itemdelegate-icon@2x.png create mode 100644 src/imports/controls/designer/images/label-icon.png create mode 100644 src/imports/controls/designer/images/label-icon16.png create mode 100644 src/imports/controls/designer/images/label-icon16@2x.png create mode 100644 src/imports/controls/designer/images/label-icon@2x.png create mode 100644 src/imports/controls/designer/images/pageindicator-icon.png create mode 100644 src/imports/controls/designer/images/pageindicator-icon16.png create mode 100644 src/imports/controls/designer/images/pageindicator-icon16@2x.png create mode 100644 src/imports/controls/designer/images/pageindicator-icon@2x.png create mode 100644 src/imports/controls/designer/images/pane-icon.png create mode 100644 src/imports/controls/designer/images/pane-icon16.png create mode 100644 src/imports/controls/designer/images/pane-icon16@2x.png create mode 100644 src/imports/controls/designer/images/pane-icon@2x.png create mode 100644 src/imports/controls/designer/images/placeholder-icon.png create mode 100644 src/imports/controls/designer/images/placeholder-icon16.png create mode 100644 src/imports/controls/designer/images/placeholder-icon16@2x.png create mode 100644 src/imports/controls/designer/images/placeholder-icon@2x.png create mode 100644 src/imports/controls/designer/images/progressbar-icon.png create mode 100644 src/imports/controls/designer/images/progressbar-icon16.png create mode 100644 src/imports/controls/designer/images/progressbar-icon16@2x.png create mode 100644 src/imports/controls/designer/images/progressbar-icon@2x.png create mode 100644 src/imports/controls/designer/images/radiobutton-icon.png create mode 100644 src/imports/controls/designer/images/radiobutton-icon16.png create mode 100644 src/imports/controls/designer/images/radiobutton-icon16@2x.png create mode 100644 src/imports/controls/designer/images/radiobutton-icon@2x.png create mode 100644 src/imports/controls/designer/images/slider-icon.png create mode 100644 src/imports/controls/designer/images/slider-icon16.png create mode 100644 src/imports/controls/designer/images/slider-icon16@2x.png create mode 100644 src/imports/controls/designer/images/slider-icon@2x.png create mode 100644 src/imports/controls/designer/images/spinbox-icon.png create mode 100644 src/imports/controls/designer/images/spinbox-icon16.png create mode 100644 src/imports/controls/designer/images/spinbox-icon16@2x.png create mode 100644 src/imports/controls/designer/images/spinbox-icon@2x.png create mode 100644 src/imports/controls/designer/images/switch-icon.png create mode 100644 src/imports/controls/designer/images/switch-icon16.png create mode 100644 src/imports/controls/designer/images/switch-icon16@2x.png create mode 100644 src/imports/controls/designer/images/switch-icon@2x.png create mode 100644 src/imports/controls/designer/images/textarea-icon.png create mode 100644 src/imports/controls/designer/images/textarea-icon16.png create mode 100644 src/imports/controls/designer/images/textarea-icon16@2x.png create mode 100644 src/imports/controls/designer/images/textarea-icon@2x.png create mode 100644 src/imports/controls/designer/images/textfield-icon.png create mode 100644 src/imports/controls/designer/images/textfield-icon16.png create mode 100644 src/imports/controls/designer/images/textfield-icon16@2x.png create mode 100644 src/imports/controls/designer/images/textfield-icon@2x.png delete mode 100644 src/imports/controls/designer/images/todo.png delete mode 100644 src/imports/controls/designer/images/todo16.png create mode 100644 src/imports/controls/designer/images/toolbar-icon.png create mode 100644 src/imports/controls/designer/images/toolbar-icon16.png create mode 100644 src/imports/controls/designer/images/toolbar-icon16@2x.png create mode 100644 src/imports/controls/designer/images/toolbar-icon@2x.png create mode 100644 src/imports/controls/designer/images/toolbutton-icon.png create mode 100644 src/imports/controls/designer/images/toolbutton-icon16.png create mode 100644 src/imports/controls/designer/images/toolbutton-icon16@2x.png create mode 100644 src/imports/controls/designer/images/toolbutton-icon@2x.png create mode 100644 src/imports/controls/designer/images/tumbler-icon.png create mode 100644 src/imports/controls/designer/images/tumbler-icon16.png create mode 100644 src/imports/controls/designer/images/tumbler-icon16@2x.png create mode 100644 src/imports/controls/designer/images/tumbler-icon@2x.png diff --git a/src/imports/controls/designer/designer.pri b/src/imports/controls/designer/designer.pri index 601fc4b4..1589723c 100644 --- a/src/imports/controls/designer/designer.pri +++ b/src/imports/controls/designer/designer.pri @@ -29,5 +29,4 @@ QML_FILES += \ $$PWD/TumblerSpecifics.qml QML_FILES += \ - $$PWD/images/todo.png \ - $$PWD/images/todo16.png + $$PWD/images/*.png diff --git a/src/imports/controls/designer/images/busyindicator-icon.png b/src/imports/controls/designer/images/busyindicator-icon.png new file mode 100644 index 00000000..307dccf9 Binary files /dev/null and b/src/imports/controls/designer/images/busyindicator-icon.png differ diff --git a/src/imports/controls/designer/images/busyindicator-icon16.png b/src/imports/controls/designer/images/busyindicator-icon16.png new file mode 100644 index 00000000..1258b92b Binary files /dev/null and b/src/imports/controls/designer/images/busyindicator-icon16.png differ diff --git a/src/imports/controls/designer/images/busyindicator-icon16@2x.png b/src/imports/controls/designer/images/busyindicator-icon16@2x.png new file mode 100644 index 00000000..5e5bd2ff Binary files /dev/null and b/src/imports/controls/designer/images/busyindicator-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/busyindicator-icon@2x.png b/src/imports/controls/designer/images/busyindicator-icon@2x.png new file mode 100644 index 00000000..04c0e3c8 Binary files /dev/null and b/src/imports/controls/designer/images/busyindicator-icon@2x.png differ diff --git a/src/imports/controls/designer/images/button-icon.png b/src/imports/controls/designer/images/button-icon.png new file mode 100644 index 00000000..37ace9a6 Binary files /dev/null and b/src/imports/controls/designer/images/button-icon.png differ diff --git a/src/imports/controls/designer/images/button-icon16.png b/src/imports/controls/designer/images/button-icon16.png new file mode 100644 index 00000000..c8a1f80c Binary files /dev/null and b/src/imports/controls/designer/images/button-icon16.png differ diff --git a/src/imports/controls/designer/images/button-icon16@2x.png b/src/imports/controls/designer/images/button-icon16@2x.png new file mode 100644 index 00000000..8883ae0b Binary files /dev/null and b/src/imports/controls/designer/images/button-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/button-icon@2x.png b/src/imports/controls/designer/images/button-icon@2x.png new file mode 100644 index 00000000..0070c51b Binary files /dev/null and b/src/imports/controls/designer/images/button-icon@2x.png differ diff --git a/src/imports/controls/designer/images/checkbox-icon.png b/src/imports/controls/designer/images/checkbox-icon.png new file mode 100644 index 00000000..466af6f3 Binary files /dev/null and b/src/imports/controls/designer/images/checkbox-icon.png differ diff --git a/src/imports/controls/designer/images/checkbox-icon16.png b/src/imports/controls/designer/images/checkbox-icon16.png new file mode 100644 index 00000000..45f92ee4 Binary files /dev/null and b/src/imports/controls/designer/images/checkbox-icon16.png differ diff --git a/src/imports/controls/designer/images/checkbox-icon16@2x.png b/src/imports/controls/designer/images/checkbox-icon16@2x.png new file mode 100644 index 00000000..4e78e7ba Binary files /dev/null and b/src/imports/controls/designer/images/checkbox-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/checkbox-icon@2x.png b/src/imports/controls/designer/images/checkbox-icon@2x.png new file mode 100644 index 00000000..750161dd Binary files /dev/null and b/src/imports/controls/designer/images/checkbox-icon@2x.png differ diff --git a/src/imports/controls/designer/images/combobox-icon.png b/src/imports/controls/designer/images/combobox-icon.png new file mode 100644 index 00000000..9f485c77 Binary files /dev/null and b/src/imports/controls/designer/images/combobox-icon.png differ diff --git a/src/imports/controls/designer/images/combobox-icon16.png b/src/imports/controls/designer/images/combobox-icon16.png new file mode 100644 index 00000000..f2d1ec7e Binary files /dev/null and b/src/imports/controls/designer/images/combobox-icon16.png differ diff --git a/src/imports/controls/designer/images/combobox-icon16@2x.png b/src/imports/controls/designer/images/combobox-icon16@2x.png new file mode 100644 index 00000000..c24f275d Binary files /dev/null and b/src/imports/controls/designer/images/combobox-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/combobox-icon@2x.png b/src/imports/controls/designer/images/combobox-icon@2x.png new file mode 100644 index 00000000..8df1fd41 Binary files /dev/null and b/src/imports/controls/designer/images/combobox-icon@2x.png differ diff --git a/src/imports/controls/designer/images/dial-icon.png b/src/imports/controls/designer/images/dial-icon.png new file mode 100644 index 00000000..8989c27e Binary files /dev/null and b/src/imports/controls/designer/images/dial-icon.png differ diff --git a/src/imports/controls/designer/images/dial-icon16.png b/src/imports/controls/designer/images/dial-icon16.png new file mode 100644 index 00000000..bfbe9d3b Binary files /dev/null and b/src/imports/controls/designer/images/dial-icon16.png differ diff --git a/src/imports/controls/designer/images/dial-icon16@2x.png b/src/imports/controls/designer/images/dial-icon16@2x.png new file mode 100644 index 00000000..d26fddcf Binary files /dev/null and b/src/imports/controls/designer/images/dial-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/dial-icon@2x.png b/src/imports/controls/designer/images/dial-icon@2x.png new file mode 100644 index 00000000..8030a0cf Binary files /dev/null and b/src/imports/controls/designer/images/dial-icon@2x.png differ diff --git a/src/imports/controls/designer/images/frame-icon.png b/src/imports/controls/designer/images/frame-icon.png new file mode 100644 index 00000000..b584d3ed Binary files /dev/null and b/src/imports/controls/designer/images/frame-icon.png differ diff --git a/src/imports/controls/designer/images/frame-icon16.png b/src/imports/controls/designer/images/frame-icon16.png new file mode 100644 index 00000000..65b033d8 Binary files /dev/null and b/src/imports/controls/designer/images/frame-icon16.png differ diff --git a/src/imports/controls/designer/images/frame-icon16@2x.png b/src/imports/controls/designer/images/frame-icon16@2x.png new file mode 100644 index 00000000..7076acd0 Binary files /dev/null and b/src/imports/controls/designer/images/frame-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/frame-icon@2x.png b/src/imports/controls/designer/images/frame-icon@2x.png new file mode 100644 index 00000000..70e72599 Binary files /dev/null and b/src/imports/controls/designer/images/frame-icon@2x.png differ diff --git a/src/imports/controls/designer/images/groupbox-icon.png b/src/imports/controls/designer/images/groupbox-icon.png new file mode 100644 index 00000000..5525d96c Binary files /dev/null and b/src/imports/controls/designer/images/groupbox-icon.png differ diff --git a/src/imports/controls/designer/images/groupbox-icon16.png b/src/imports/controls/designer/images/groupbox-icon16.png new file mode 100644 index 00000000..3d228fc1 Binary files /dev/null and b/src/imports/controls/designer/images/groupbox-icon16.png differ diff --git a/src/imports/controls/designer/images/groupbox-icon16@2x.png b/src/imports/controls/designer/images/groupbox-icon16@2x.png new file mode 100644 index 00000000..c870a24f Binary files /dev/null and b/src/imports/controls/designer/images/groupbox-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/groupbox-icon@2x.png b/src/imports/controls/designer/images/groupbox-icon@2x.png new file mode 100644 index 00000000..cb46a585 Binary files /dev/null and b/src/imports/controls/designer/images/groupbox-icon@2x.png differ diff --git a/src/imports/controls/designer/images/itemdelegate-icon.png b/src/imports/controls/designer/images/itemdelegate-icon.png new file mode 100644 index 00000000..d296eed1 Binary files /dev/null and b/src/imports/controls/designer/images/itemdelegate-icon.png differ diff --git a/src/imports/controls/designer/images/itemdelegate-icon16.png b/src/imports/controls/designer/images/itemdelegate-icon16.png new file mode 100644 index 00000000..bf5727fb Binary files /dev/null and b/src/imports/controls/designer/images/itemdelegate-icon16.png differ diff --git a/src/imports/controls/designer/images/itemdelegate-icon16@2x.png b/src/imports/controls/designer/images/itemdelegate-icon16@2x.png new file mode 100644 index 00000000..e7e65326 Binary files /dev/null and b/src/imports/controls/designer/images/itemdelegate-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/itemdelegate-icon@2x.png b/src/imports/controls/designer/images/itemdelegate-icon@2x.png new file mode 100644 index 00000000..1cbe9f79 Binary files /dev/null and b/src/imports/controls/designer/images/itemdelegate-icon@2x.png differ diff --git a/src/imports/controls/designer/images/label-icon.png b/src/imports/controls/designer/images/label-icon.png new file mode 100644 index 00000000..e551d62b Binary files /dev/null and b/src/imports/controls/designer/images/label-icon.png differ diff --git a/src/imports/controls/designer/images/label-icon16.png b/src/imports/controls/designer/images/label-icon16.png new file mode 100644 index 00000000..02221a83 Binary files /dev/null and b/src/imports/controls/designer/images/label-icon16.png differ diff --git a/src/imports/controls/designer/images/label-icon16@2x.png b/src/imports/controls/designer/images/label-icon16@2x.png new file mode 100644 index 00000000..08b71953 Binary files /dev/null and b/src/imports/controls/designer/images/label-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/label-icon@2x.png b/src/imports/controls/designer/images/label-icon@2x.png new file mode 100644 index 00000000..5b185656 Binary files /dev/null and b/src/imports/controls/designer/images/label-icon@2x.png differ diff --git a/src/imports/controls/designer/images/pageindicator-icon.png b/src/imports/controls/designer/images/pageindicator-icon.png new file mode 100644 index 00000000..8b190422 Binary files /dev/null and b/src/imports/controls/designer/images/pageindicator-icon.png differ diff --git a/src/imports/controls/designer/images/pageindicator-icon16.png b/src/imports/controls/designer/images/pageindicator-icon16.png new file mode 100644 index 00000000..ea6cfaad Binary files /dev/null and b/src/imports/controls/designer/images/pageindicator-icon16.png differ diff --git a/src/imports/controls/designer/images/pageindicator-icon16@2x.png b/src/imports/controls/designer/images/pageindicator-icon16@2x.png new file mode 100644 index 00000000..bb52d401 Binary files /dev/null and b/src/imports/controls/designer/images/pageindicator-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/pageindicator-icon@2x.png b/src/imports/controls/designer/images/pageindicator-icon@2x.png new file mode 100644 index 00000000..98cc8ea2 Binary files /dev/null and b/src/imports/controls/designer/images/pageindicator-icon@2x.png differ diff --git a/src/imports/controls/designer/images/pane-icon.png b/src/imports/controls/designer/images/pane-icon.png new file mode 100644 index 00000000..78ba7dc8 Binary files /dev/null and b/src/imports/controls/designer/images/pane-icon.png differ diff --git a/src/imports/controls/designer/images/pane-icon16.png b/src/imports/controls/designer/images/pane-icon16.png new file mode 100644 index 00000000..aa8eaa35 Binary files /dev/null and b/src/imports/controls/designer/images/pane-icon16.png differ diff --git a/src/imports/controls/designer/images/pane-icon16@2x.png b/src/imports/controls/designer/images/pane-icon16@2x.png new file mode 100644 index 00000000..dfacdcf7 Binary files /dev/null and b/src/imports/controls/designer/images/pane-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/pane-icon@2x.png b/src/imports/controls/designer/images/pane-icon@2x.png new file mode 100644 index 00000000..649314fd Binary files /dev/null and b/src/imports/controls/designer/images/pane-icon@2x.png differ diff --git a/src/imports/controls/designer/images/placeholder-icon.png b/src/imports/controls/designer/images/placeholder-icon.png new file mode 100644 index 00000000..65beb4ac Binary files /dev/null and b/src/imports/controls/designer/images/placeholder-icon.png differ diff --git a/src/imports/controls/designer/images/placeholder-icon16.png b/src/imports/controls/designer/images/placeholder-icon16.png new file mode 100644 index 00000000..a3e2f2f7 Binary files /dev/null and b/src/imports/controls/designer/images/placeholder-icon16.png differ diff --git a/src/imports/controls/designer/images/placeholder-icon16@2x.png b/src/imports/controls/designer/images/placeholder-icon16@2x.png new file mode 100644 index 00000000..a8164015 Binary files /dev/null and b/src/imports/controls/designer/images/placeholder-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/placeholder-icon@2x.png b/src/imports/controls/designer/images/placeholder-icon@2x.png new file mode 100644 index 00000000..f17fff24 Binary files /dev/null and b/src/imports/controls/designer/images/placeholder-icon@2x.png differ diff --git a/src/imports/controls/designer/images/progressbar-icon.png b/src/imports/controls/designer/images/progressbar-icon.png new file mode 100644 index 00000000..8a283960 Binary files /dev/null and b/src/imports/controls/designer/images/progressbar-icon.png differ diff --git a/src/imports/controls/designer/images/progressbar-icon16.png b/src/imports/controls/designer/images/progressbar-icon16.png new file mode 100644 index 00000000..91010d85 Binary files /dev/null and b/src/imports/controls/designer/images/progressbar-icon16.png differ diff --git a/src/imports/controls/designer/images/progressbar-icon16@2x.png b/src/imports/controls/designer/images/progressbar-icon16@2x.png new file mode 100644 index 00000000..93d98b72 Binary files /dev/null and b/src/imports/controls/designer/images/progressbar-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/progressbar-icon@2x.png b/src/imports/controls/designer/images/progressbar-icon@2x.png new file mode 100644 index 00000000..5dc4130c Binary files /dev/null and b/src/imports/controls/designer/images/progressbar-icon@2x.png differ diff --git a/src/imports/controls/designer/images/radiobutton-icon.png b/src/imports/controls/designer/images/radiobutton-icon.png new file mode 100644 index 00000000..c19d6984 Binary files /dev/null and b/src/imports/controls/designer/images/radiobutton-icon.png differ diff --git a/src/imports/controls/designer/images/radiobutton-icon16.png b/src/imports/controls/designer/images/radiobutton-icon16.png new file mode 100644 index 00000000..cbd49ee7 Binary files /dev/null and b/src/imports/controls/designer/images/radiobutton-icon16.png differ diff --git a/src/imports/controls/designer/images/radiobutton-icon16@2x.png b/src/imports/controls/designer/images/radiobutton-icon16@2x.png new file mode 100644 index 00000000..07396b0d Binary files /dev/null and b/src/imports/controls/designer/images/radiobutton-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/radiobutton-icon@2x.png b/src/imports/controls/designer/images/radiobutton-icon@2x.png new file mode 100644 index 00000000..8e576eb7 Binary files /dev/null and b/src/imports/controls/designer/images/radiobutton-icon@2x.png differ diff --git a/src/imports/controls/designer/images/slider-icon.png b/src/imports/controls/designer/images/slider-icon.png new file mode 100644 index 00000000..c4638b43 Binary files /dev/null and b/src/imports/controls/designer/images/slider-icon.png differ diff --git a/src/imports/controls/designer/images/slider-icon16.png b/src/imports/controls/designer/images/slider-icon16.png new file mode 100644 index 00000000..caab3992 Binary files /dev/null and b/src/imports/controls/designer/images/slider-icon16.png differ diff --git a/src/imports/controls/designer/images/slider-icon16@2x.png b/src/imports/controls/designer/images/slider-icon16@2x.png new file mode 100644 index 00000000..20faceb2 Binary files /dev/null and b/src/imports/controls/designer/images/slider-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/slider-icon@2x.png b/src/imports/controls/designer/images/slider-icon@2x.png new file mode 100644 index 00000000..d4fdcd88 Binary files /dev/null and b/src/imports/controls/designer/images/slider-icon@2x.png differ diff --git a/src/imports/controls/designer/images/spinbox-icon.png b/src/imports/controls/designer/images/spinbox-icon.png new file mode 100644 index 00000000..8135a173 Binary files /dev/null and b/src/imports/controls/designer/images/spinbox-icon.png differ diff --git a/src/imports/controls/designer/images/spinbox-icon16.png b/src/imports/controls/designer/images/spinbox-icon16.png new file mode 100644 index 00000000..774cdbf5 Binary files /dev/null and b/src/imports/controls/designer/images/spinbox-icon16.png differ diff --git a/src/imports/controls/designer/images/spinbox-icon16@2x.png b/src/imports/controls/designer/images/spinbox-icon16@2x.png new file mode 100644 index 00000000..00bc8adc Binary files /dev/null and b/src/imports/controls/designer/images/spinbox-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/spinbox-icon@2x.png b/src/imports/controls/designer/images/spinbox-icon@2x.png new file mode 100644 index 00000000..83fcc689 Binary files /dev/null and b/src/imports/controls/designer/images/spinbox-icon@2x.png differ diff --git a/src/imports/controls/designer/images/switch-icon.png b/src/imports/controls/designer/images/switch-icon.png new file mode 100644 index 00000000..64c9f80f Binary files /dev/null and b/src/imports/controls/designer/images/switch-icon.png differ diff --git a/src/imports/controls/designer/images/switch-icon16.png b/src/imports/controls/designer/images/switch-icon16.png new file mode 100644 index 00000000..893a0d9c Binary files /dev/null and b/src/imports/controls/designer/images/switch-icon16.png differ diff --git a/src/imports/controls/designer/images/switch-icon16@2x.png b/src/imports/controls/designer/images/switch-icon16@2x.png new file mode 100644 index 00000000..09333db6 Binary files /dev/null and b/src/imports/controls/designer/images/switch-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/switch-icon@2x.png b/src/imports/controls/designer/images/switch-icon@2x.png new file mode 100644 index 00000000..2b5fa0da Binary files /dev/null and b/src/imports/controls/designer/images/switch-icon@2x.png differ diff --git a/src/imports/controls/designer/images/textarea-icon.png b/src/imports/controls/designer/images/textarea-icon.png new file mode 100644 index 00000000..61b7387c Binary files /dev/null and b/src/imports/controls/designer/images/textarea-icon.png differ diff --git a/src/imports/controls/designer/images/textarea-icon16.png b/src/imports/controls/designer/images/textarea-icon16.png new file mode 100644 index 00000000..8f23812e Binary files /dev/null and b/src/imports/controls/designer/images/textarea-icon16.png differ diff --git a/src/imports/controls/designer/images/textarea-icon16@2x.png b/src/imports/controls/designer/images/textarea-icon16@2x.png new file mode 100644 index 00000000..4b81c633 Binary files /dev/null and b/src/imports/controls/designer/images/textarea-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/textarea-icon@2x.png b/src/imports/controls/designer/images/textarea-icon@2x.png new file mode 100644 index 00000000..3b64908a Binary files /dev/null and b/src/imports/controls/designer/images/textarea-icon@2x.png differ diff --git a/src/imports/controls/designer/images/textfield-icon.png b/src/imports/controls/designer/images/textfield-icon.png new file mode 100644 index 00000000..c08424bf Binary files /dev/null and b/src/imports/controls/designer/images/textfield-icon.png differ diff --git a/src/imports/controls/designer/images/textfield-icon16.png b/src/imports/controls/designer/images/textfield-icon16.png new file mode 100644 index 00000000..514ae04e Binary files /dev/null and b/src/imports/controls/designer/images/textfield-icon16.png differ diff --git a/src/imports/controls/designer/images/textfield-icon16@2x.png b/src/imports/controls/designer/images/textfield-icon16@2x.png new file mode 100644 index 00000000..d93cf59b Binary files /dev/null and b/src/imports/controls/designer/images/textfield-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/textfield-icon@2x.png b/src/imports/controls/designer/images/textfield-icon@2x.png new file mode 100644 index 00000000..bbb5ca9c Binary files /dev/null and b/src/imports/controls/designer/images/textfield-icon@2x.png differ diff --git a/src/imports/controls/designer/images/todo.png b/src/imports/controls/designer/images/todo.png deleted file mode 100644 index 9a8a586f..00000000 Binary files a/src/imports/controls/designer/images/todo.png and /dev/null differ diff --git a/src/imports/controls/designer/images/todo16.png b/src/imports/controls/designer/images/todo16.png deleted file mode 100644 index 0717d1eb..00000000 Binary files a/src/imports/controls/designer/images/todo16.png and /dev/null differ diff --git a/src/imports/controls/designer/images/toolbar-icon.png b/src/imports/controls/designer/images/toolbar-icon.png new file mode 100644 index 00000000..c65e7038 Binary files /dev/null and b/src/imports/controls/designer/images/toolbar-icon.png differ diff --git a/src/imports/controls/designer/images/toolbar-icon16.png b/src/imports/controls/designer/images/toolbar-icon16.png new file mode 100644 index 00000000..ee2d3c9c Binary files /dev/null and b/src/imports/controls/designer/images/toolbar-icon16.png differ diff --git a/src/imports/controls/designer/images/toolbar-icon16@2x.png b/src/imports/controls/designer/images/toolbar-icon16@2x.png new file mode 100644 index 00000000..4ae0f41a Binary files /dev/null and b/src/imports/controls/designer/images/toolbar-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/toolbar-icon@2x.png b/src/imports/controls/designer/images/toolbar-icon@2x.png new file mode 100644 index 00000000..a41cb0bd Binary files /dev/null and b/src/imports/controls/designer/images/toolbar-icon@2x.png differ diff --git a/src/imports/controls/designer/images/toolbutton-icon.png b/src/imports/controls/designer/images/toolbutton-icon.png new file mode 100644 index 00000000..8a3cea5e Binary files /dev/null and b/src/imports/controls/designer/images/toolbutton-icon.png differ diff --git a/src/imports/controls/designer/images/toolbutton-icon16.png b/src/imports/controls/designer/images/toolbutton-icon16.png new file mode 100644 index 00000000..49c9d956 Binary files /dev/null and b/src/imports/controls/designer/images/toolbutton-icon16.png differ diff --git a/src/imports/controls/designer/images/toolbutton-icon16@2x.png b/src/imports/controls/designer/images/toolbutton-icon16@2x.png new file mode 100644 index 00000000..4d9b2684 Binary files /dev/null and b/src/imports/controls/designer/images/toolbutton-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/toolbutton-icon@2x.png b/src/imports/controls/designer/images/toolbutton-icon@2x.png new file mode 100644 index 00000000..aff35c52 Binary files /dev/null and b/src/imports/controls/designer/images/toolbutton-icon@2x.png differ diff --git a/src/imports/controls/designer/images/tumbler-icon.png b/src/imports/controls/designer/images/tumbler-icon.png new file mode 100644 index 00000000..59e827b8 Binary files /dev/null and b/src/imports/controls/designer/images/tumbler-icon.png differ diff --git a/src/imports/controls/designer/images/tumbler-icon16.png b/src/imports/controls/designer/images/tumbler-icon16.png new file mode 100644 index 00000000..7c2b3a1f Binary files /dev/null and b/src/imports/controls/designer/images/tumbler-icon16.png differ diff --git a/src/imports/controls/designer/images/tumbler-icon16@2x.png b/src/imports/controls/designer/images/tumbler-icon16@2x.png new file mode 100644 index 00000000..21b70156 Binary files /dev/null and b/src/imports/controls/designer/images/tumbler-icon16@2x.png differ diff --git a/src/imports/controls/designer/images/tumbler-icon@2x.png b/src/imports/controls/designer/images/tumbler-icon@2x.png new file mode 100644 index 00000000..7a36e8c3 Binary files /dev/null and b/src/imports/controls/designer/images/tumbler-icon@2x.png differ diff --git a/src/imports/controls/designer/qtlabscontrols.metainfo b/src/imports/controls/designer/qtlabscontrols.metainfo index 1c005c6f..0564077a 100644 --- a/src/imports/controls/designer/qtlabscontrols.metainfo +++ b/src/imports/controls/designer/qtlabscontrols.metainfo @@ -1,12 +1,12 @@ MetaInfo { Type { name: "Qt.labs.controls.BusyIndicator" - icon: "images/todo16.png" + icon: "images/busyindicator-icon16.png" ItemLibraryEntry { name: "Busy Indicator" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/busyindicator-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" } @@ -14,12 +14,12 @@ MetaInfo { Type { name: "Qt.labs.controls.Button" - icon: "images/todo16.png" + icon: "images/button-icon16.png" ItemLibraryEntry { name: "Button" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/button-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" @@ -29,12 +29,12 @@ MetaInfo { Type { name: "Qt.labs.controls.CheckBox" - icon: "images/todo16.png" + icon: "images/checkbox-icon16.png" ItemLibraryEntry { name: "Check Box" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/checkbox-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" @@ -44,12 +44,12 @@ MetaInfo { Type { name: "Qt.labs.controls.ComboBox" - icon: "images/todo16.png" + icon: "images/combobox-icon16.png" ItemLibraryEntry { name: "Combo Box" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/combobox-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" } @@ -57,12 +57,12 @@ MetaInfo { Type { name: "Qt.labs.controls.Dial" - icon: "images/todo16.png" + icon: "images/dial-icon16.png" ItemLibraryEntry { name: "Dial" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/dial-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" } @@ -70,12 +70,12 @@ MetaInfo { Type { name: "Qt.labs.controls.Frame" - icon: "images/todo16.png" + icon: "images/frame-icon16.png" ItemLibraryEntry { name: "Frame" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/frame-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" @@ -86,12 +86,12 @@ MetaInfo { Type { name: "Qt.labs.controls.GroupBox" - icon: "images/todo16.png" + icon: "images/groupbox-icon16.png" ItemLibraryEntry { name: "Group Box" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/groupbox-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" @@ -103,12 +103,12 @@ MetaInfo { Type { name: "Qt.labs.controls.ItemDelegate" - icon: "images/todo16.png" + icon: "images/itemdelegate-icon16.png" ItemLibraryEntry { name: "Item Delegate" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/itemdelegate-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" @@ -118,12 +118,12 @@ MetaInfo { Type { name: "Qt.labs.controls.Label" - icon: "images/todo16.png" + icon: "images/label-icon16.png" ItemLibraryEntry { name: "Label" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/label-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" @@ -133,12 +133,12 @@ MetaInfo { Type { name: "Qt.labs.controls.PageIndicator" - icon: "images/todo16.png" + icon: "images/pageindicator-icon16.png" ItemLibraryEntry { name: "Page Indicator" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/pageindicator-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" @@ -148,12 +148,12 @@ MetaInfo { Type { name: "Qt.labs.controls.Pane" - icon: "images/todo16.png" + icon: "images/pane-icon16.png" ItemLibraryEntry { name: "Pane" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/pane-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" @@ -164,12 +164,12 @@ MetaInfo { Type { name: "Qt.labs.controls.ProgressBar" - icon: "images/todo16.png" + icon: "images/progressbar-icon16.png" ItemLibraryEntry { name: "Progress Bar" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/progressbar-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" @@ -179,12 +179,12 @@ MetaInfo { Type { name: "Qt.labs.controls.RadioButton" - icon: "images/todo16.png" + icon: "images/radiobutton-icon16.png" ItemLibraryEntry { name: "Radio Button" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/radiobutton-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" @@ -194,12 +194,12 @@ MetaInfo { Type { name: "Qt.labs.controls.Slider" - icon: "images/todo16.png" + icon: "images/slider-icon16.png" ItemLibraryEntry { name: "Slider" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/slider-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" @@ -209,12 +209,12 @@ MetaInfo { Type { name: "Qt.labs.controls.SpinBox" - icon: "images/todo16.png" + icon: "images/spinbox-icon16.png" ItemLibraryEntry { name: "Spin Box" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/spinbox-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" } @@ -222,12 +222,12 @@ MetaInfo { Type { name: "Qt.labs.controls.Switch" - icon: "images/todo16.png" + icon: "images/switch-icon16.png" ItemLibraryEntry { name: "Switch" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/switch-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" @@ -237,12 +237,12 @@ MetaInfo { Type { name: "Qt.labs.controls.TextArea" - icon: "images/todo16.png" + icon: "images/textarea-icon16.png" ItemLibraryEntry { name: "Text Area" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/textarea-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" @@ -252,12 +252,12 @@ MetaInfo { Type { name: "Qt.labs.controls.TextField" - icon: "images/todo16.png" + icon: "images/textfield-icon16.png" ItemLibraryEntry { name: "Text Field" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/textfield-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" @@ -267,12 +267,12 @@ MetaInfo { Type { name: "Qt.labs.controls.ToolButton" - icon: "images/todo16.png" + icon: "images/toolbutton-icon16.png" ItemLibraryEntry { name: "Tool Button" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/toolbutton-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" @@ -282,12 +282,12 @@ MetaInfo { Type { name: "Qt.labs.controls.ToolBar" - icon: "images/todo16.png" + icon: "images/toolbar-icon16.png" ItemLibraryEntry { name: "Tool Bar" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/toolbar-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" @@ -297,12 +297,12 @@ MetaInfo { Type { name: "Qt.labs.controls.Tumbler" - icon: "images/todo16.png" + icon: "images/tumbler-icon16.png" ItemLibraryEntry { name: "Tumbler" category: "Qt Labs - Controls" - libraryIcon: "images/todo.png" + libraryIcon: "images/tumbler-icon.png" version: "1.0" requiredImport: "Qt.labs.controls" } -- cgit v1.2.3 From 119e43db9747ee070c84fc3ffb4c81ee4db35da8 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Mon, 22 Feb 2016 14:50:24 +0100 Subject: Material: add missing focus highlights Change-Id: Id678a095a56f7494c9f32160326ba667a6c0dc28 Task-number: QTBUG-51257 Reviewed-by: Mitch Curtis Reviewed-by: BogDan Vatra --- src/imports/controls/material/Button.qml | 8 ++++++++ src/imports/controls/material/CheckBox.qml | 2 +- src/imports/controls/material/ComboBox.qml | 8 ++++++++ src/imports/controls/material/RadioButton.qml | 2 +- src/imports/controls/material/SliderHandle.qml | 10 +++++++++- src/imports/controls/material/Switch.qml | 2 +- 6 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/imports/controls/material/Button.qml b/src/imports/controls/material/Button.qml index 77128861..a869c915 100644 --- a/src/imports/controls/material/Button.qml +++ b/src/imports/controls/material/Button.qml @@ -91,6 +91,14 @@ T.Button { } } + Rectangle { + width: parent.width + height: parent.height + radius: parent.radius + visible: control.activeFocus + color: control.Material.checkBoxUncheckedRippleColor + } + layer.enabled: control.enabled layer.effect: DropShadow { verticalOffset: 1 diff --git a/src/imports/controls/material/CheckBox.qml b/src/imports/controls/material/CheckBox.qml index 5becfc5c..230f696f 100644 --- a/src/imports/controls/material/CheckBox.qml +++ b/src/imports/controls/material/CheckBox.qml @@ -87,7 +87,7 @@ T.CheckBox { height: width control: control colored: control.checked - opacity: control.pressed ? 1 : 0 + opacity: control.pressed || control.activeFocus ? 1 : 0 } // TODO: This needs to be transparent diff --git a/src/imports/controls/material/ComboBox.qml b/src/imports/controls/material/ComboBox.qml index 7f47672e..1c293567 100644 --- a/src/imports/controls/material/ComboBox.qml +++ b/src/imports/controls/material/ComboBox.qml @@ -101,6 +101,14 @@ T.ComboBox { opacity: !control.enabled ? 0.5 : 1.0 source: "qrc:/qt-project.org/imports/Qt/labs/controls/material/images/drop-indicator.png" } + + Rectangle { + width: parent.width + height: parent.height + radius: parent.radius + visible: control.activeFocus + color: control.Material.checkBoxUncheckedRippleColor + } } //! [background] diff --git a/src/imports/controls/material/RadioButton.qml b/src/imports/controls/material/RadioButton.qml index 25d91a5c..f01d2dc9 100644 --- a/src/imports/controls/material/RadioButton.qml +++ b/src/imports/controls/material/RadioButton.qml @@ -72,7 +72,7 @@ T.RadioButton { height: width control: control colored: control.checked - opacity: control.pressed ? 1 : 0 + opacity: control.pressed || control.activeFocus ? 1 : 0 } Rectangle { diff --git a/src/imports/controls/material/SliderHandle.qml b/src/imports/controls/material/SliderHandle.qml index dc1a836d..6f54eaf5 100644 --- a/src/imports/controls/material/SliderHandle.qml +++ b/src/imports/controls/material/SliderHandle.qml @@ -55,7 +55,7 @@ Item { height: parent.height radius: width / 2 color: root.control.Material.accentColor - scale: root.handlePressed || root.handleHasFocus ? 1.5 : 1 + scale: root.handlePressed ? 1.5 : 1 Behavior on scale { NumberAnimation { @@ -63,4 +63,12 @@ Item { } } } + + Ripple { + width: parent.width + height: width + control: root.control + colored: true + opacity: root.handleHasFocus && !root.handlePressed ? 1 : 0 + } } diff --git a/src/imports/controls/material/Switch.qml b/src/imports/controls/material/Switch.qml index f44fb31a..0b9edcab 100644 --- a/src/imports/controls/material/Switch.qml +++ b/src/imports/controls/material/Switch.qml @@ -68,7 +68,7 @@ T.Switch { height: width control: control colored: control.checked - opacity: control.pressed ? 1 : 0 + opacity: control.pressed || control.activeFocus ? 1 : 0 } Rectangle { -- cgit v1.2.3 From fd33c3991418c38075ac39291807d223cc525877 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Mon, 22 Feb 2016 17:03:40 +0100 Subject: Material: tweak the accent color and ripples for the dark theme In general, the appropriate shade is 200 in the dark theme. Furthermore, reduce the translucency of the ripple in the dark theme to make it better visible. Change-Id: I6060dfbdb2d291eded56ca648e1356d6228e3b25 Reviewed-by: Mitch Curtis Reviewed-by: BogDan Vatra --- src/imports/controls/material/qquickmaterialstyle.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/imports/controls/material/qquickmaterialstyle.cpp b/src/imports/controls/material/qquickmaterialstyle.cpp index c2e43254..57b74d62 100644 --- a/src/imports/controls/material/qquickmaterialstyle.cpp +++ b/src/imports/controls/material/qquickmaterialstyle.cpp @@ -622,7 +622,7 @@ QColor QQuickMaterialStyle::accentColor() const return QColor::fromRgba(m_accent); if (m_accent > BlueGrey) return QColor(); - return colors[m_accent][Shade500]; + return colors[m_accent][m_theme == Light ? Shade500 : Shade200]; } QColor QQuickMaterialStyle::backgroundColor() const @@ -732,7 +732,7 @@ QColor QQuickMaterialStyle::checkBoxCheckedRippleColor() const { QColor pressColor = accentColor(); // TODO: find out actual value - pressColor.setAlpha(30); + pressColor.setAlpha(m_theme == Light ? 30 : 50); return pressColor; } -- cgit v1.2.3 From 8778db4d8ca3727370137ad8578a5ef5461e0e71 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Tue, 23 Feb 2016 09:27:47 +0100 Subject: Extend tst_monthgrid Change-Id: I8ec0828319e91df42c0bd9540953df7d431ef476 Reviewed-by: Mitch Curtis --- tests/auto/calendar/data/tst_monthgrid.qml | 80 ++++++++++++++++++++---------- 1 file changed, 55 insertions(+), 25 deletions(-) diff --git a/tests/auto/calendar/data/tst_monthgrid.qml b/tests/auto/calendar/data/tst_monthgrid.qml index d07b77db..6c60f92f 100644 --- a/tests/auto/calendar/data/tst_monthgrid.qml +++ b/tests/auto/calendar/data/tst_monthgrid.qml @@ -51,12 +51,26 @@ TestCase { name: "MonthGrid" Component { - id: component + id: defaultGrid MonthGrid { } } + Component { + id: delegateGrid + MonthGrid { + delegate: Item { + readonly property date date: model.date + readonly property int day: model.day + readonly property bool today: model.today + readonly property int weekNumber: model.weekNumber + readonly property int month: model.month + readonly property int year: model.year + } + } + } + function test_locale() { - var control = component.createObject(testCase, {month: 0, year: 2013}) + var control = delegateGrid.createObject(testCase, {month: 0, year: 2013}) compare(control.contentItem.children.length, 6 * 7 + 1) @@ -68,37 +82,53 @@ TestCase { control.locale = Qt.locale("en_GB") compare(control.locale.name, "en_GB") - // M T W T F S S - var en_GB = [31, 1, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 1, 2, 3, - 4, 5, 6, 7, 8, 9, 10] - - for (var i = 0; i < 42; ++i) - compare(control.contentItem.children[i].text, en_GB[i].toString()) + // M T W T F S S + var en_GB = ["2012-12-31", "2013-01-01", "2013-01-02", "2013-01-03", "2013-01-04", "2013-01-05", "2013-01-06", + "2013-01-07", "2013-01-08", "2013-01-09", "2013-01-10", "2013-01-11", "2013-01-12", "2013-01-13", + "2013-01-14", "2013-01-15", "2013-01-16", "2013-01-17", "2013-01-18", "2013-01-19", "2013-01-20", + "2013-01-21", "2013-01-22", "2013-01-23", "2013-01-24", "2013-01-25", "2013-01-26", "2013-01-27", + "2013-01-28", "2013-01-29", "2013-01-30", "2013-01-31", "2013-02-01", "2013-02-02", "2013-02-03", + "2013-02-04", "2013-02-05", "2013-02-06", "2013-02-07", "2013-02-08", "2013-02-09", "2013-02-10"] + + for (var i = 0; i < 42; ++i) { + var cellDate = new Date(en_GB[i]) + compare(control.contentItem.children[i].date.getFullYear(), cellDate.getFullYear()) + compare(control.contentItem.children[i].date.getMonth(), cellDate.getMonth()) + compare(control.contentItem.children[i].date.getDate(), cellDate.getDate()) + compare(control.contentItem.children[i].day, cellDate.getDate()) + compare(control.contentItem.children[i].today, cellDate === new Date()) + compare(control.contentItem.children[i].month, cellDate.getMonth()) + compare(control.contentItem.children[i].year, cellDate.getFullYear()) + } // en_US control.locale = Qt.locale("en_US") compare(control.locale.name, "en_US") - // S M T W T F S - var en_US = [30, 31, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 1, 2, - 3, 4, 5, 6, 7, 8, 9] - - for (var j = 0; j < 42; ++j) - compare(control.contentItem.children[j].text, en_US[j].toString()) + // S M T W T F S + var en_US = ["2012-12-30", "2012-12-31", "2013-01-01", "2013-01-02", "2013-01-03", "2013-01-04", "2013-01-05", + "2013-01-06", "2013-01-07", "2013-01-08", "2013-01-09", "2013-01-10", "2013-01-11", "2013-01-12", + "2013-01-13", "2013-01-14", "2013-01-15", "2013-01-16", "2013-01-17", "2013-01-18", "2013-01-19", + "2013-01-20", "2013-01-21", "2013-01-22", "2013-01-23", "2013-01-24", "2013-01-25", "2013-01-26", + "2013-01-27", "2013-01-28", "2013-01-29", "2013-01-30", "2013-01-31", "2013-02-01", "2013-02-02", + "2013-02-03", "2013-02-04", "2013-02-05", "2013-02-06", "2013-02-07", "2013-02-08", "2013-02-09"] + + for (var j = 0; j < 42; ++j) { + cellDate = new Date(en_US[j]) + compare(control.contentItem.children[j].date.getFullYear(), cellDate.getFullYear()) + compare(control.contentItem.children[j].date.getMonth(), cellDate.getMonth()) + compare(control.contentItem.children[j].date.getDate(), cellDate.getDate()) + compare(control.contentItem.children[j].day, cellDate.getDate()) + compare(control.contentItem.children[j].today, cellDate === new Date()) + compare(control.contentItem.children[j].month, cellDate.getMonth()) + compare(control.contentItem.children[j].year, cellDate.getFullYear()) + } control.destroy() } function test_range() { - var control = component.createObject(testCase) + var control = defaultGrid.createObject(testCase) control.month = 0 compare(control.month, 0) @@ -132,7 +162,7 @@ TestCase { } function test_bce() { - var control = component.createObject(testCase) + var control = defaultGrid.createObject(testCase) compare(control.contentItem.children.length, 6 * 7 + 1) @@ -178,7 +208,7 @@ TestCase { } function test_font() { - var control = component.createObject(testCase) + var control = defaultGrid.createObject(testCase) verify(control.contentItem.children[0]) -- cgit v1.2.3 From 32990fc8c58f7271bceff5a4e9da2c73642048f1 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Tue, 23 Feb 2016 10:19:08 +0100 Subject: Fix CalendarModel month indices Change-Id: I25c683cce19436d103d3225ad098daedf6212b64 Task-number: QTBUG-51108 Reviewed-by: Mitch Curtis --- src/imports/calendar/qquickcalendarmodel.cpp | 38 ++++++-- tests/auto/calendar/data/tst_calendarmodel.qml | 115 +++++++++++++++++++++++++ 2 files changed, 147 insertions(+), 6 deletions(-) create mode 100644 tests/auto/calendar/data/tst_calendarmodel.qml diff --git a/src/imports/calendar/qquickcalendarmodel.cpp b/src/imports/calendar/qquickcalendarmodel.cpp index 6b59d45a..9d214450 100644 --- a/src/imports/calendar/qquickcalendarmodel.cpp +++ b/src/imports/calendar/qquickcalendarmodel.cpp @@ -60,9 +60,28 @@ QT_BEGIN_NAMESPACE \row \li \b model.year : int \li The number of the year \endtable + The Qt Labs Calendar module uses 0-based month numbers to be consistent + with the JavaScript Date type, that is used by the QML language. This + means that \c Date::getMonth() can be passed to the methods as is. When + dealing with dealing with month numbers directly, it is highly recommended + to use the following enumeration values to avoid confusion. + + \value Calendar.January January (0) + \value Calendar.February February (1) + \value Calendar.March March (2) + \value Calendar.April April (3) + \value Calendar.May May (4) + \value Calendar.June June (5) + \value Calendar.July July (6) + \value Calendar.August August (7) + \value Calendar.September September (8) + \value Calendar.October October (9) + \value Calendar.November November (10) + \value Calendar.December December (11) + \labs - \sa MonthGrid + \sa MonthGrid, Calendar */ class QQuickCalendarModelPrivate : public QAbstractItemModelPrivate @@ -87,9 +106,16 @@ public: int QQuickCalendarModelPrivate::getCount(const QDate& from, const QDate &to) { + if (!from.isValid() || !to.isValid()) + return 0; + QDate f(from.year(), from.month(), 1); QDate t(to.year(), to.month(), to.daysInMonth()); - QDate r = QDate(1, 1, 1).addDays(f.daysTo(t)); + int days = f.daysTo(t); + if (days < 0) + return 0; + + QDate r = QDate(1, 1, 1).addDays(days); int years = r.year() - 1; int months = r.month() - 1; return 12 * years + months + (r.day() / t.day()); @@ -169,7 +195,7 @@ void QQuickCalendarModel::setTo(const QDate &to) int QQuickCalendarModel::monthAt(int index) const { Q_D(const QQuickCalendarModel); - return d->from.addMonths(index).month(); + return d->from.addMonths(index).month() - 1; } /*! @@ -190,7 +216,8 @@ int QQuickCalendarModel::yearAt(int index) const */ int QQuickCalendarModel::indexOf(const QDate &date) const { - return indexOf(date.year(), date.month()); + Q_D(const QQuickCalendarModel); + return d->getCount(d->from, date) - 1; } /*! @@ -200,8 +227,7 @@ int QQuickCalendarModel::indexOf(const QDate &date) const */ int QQuickCalendarModel::indexOf(int year, int month) const { - Q_D(const QQuickCalendarModel); - return d->getCount(d->from, QDate(year, month, 1)) - 1; + return indexOf(QDate(year, month + 1, 1)); } QVariant QQuickCalendarModel::data(const QModelIndex &index, int role) const diff --git a/tests/auto/calendar/data/tst_calendarmodel.qml b/tests/auto/calendar/data/tst_calendarmodel.qml new file mode 100644 index 00000000..da2f3d8b --- /dev/null +++ b/tests/auto/calendar/data/tst_calendarmodel.qml @@ -0,0 +1,115 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.2 +import QtTest 1.0 +import QtQml 2.2 +import Qt.labs.calendar 1.0 + +TestCase { + id: testCase + name: "CalendarModel" + + Component { + id: calendarModel + CalendarModel { } + } + + Component { + id: instantiator + Instantiator { + model: CalendarModel { + from: new Date(2016, 0, 1) + to: new Date(2016, 11, 31) + } + QtObject { + readonly property int month: model.month + readonly property int year: model.year + } + } + } + + function test_indices_data() { + return [ + { tag: "2013", from: "2013-01-01", to: "2013-12-31", count: 12 }, + { tag: "2016", from: "2016-01-01", to: "2016-03-31", count: 3 } + ] + } + + function test_indices(data) { + var model = calendarModel.createObject(testCase, {from: data.from, to: data.to}) + verify(model) + + compare(model.count, data.count) + + var y = parseInt(data.tag) + for (var m = 0; m < 12; ++m) { + compare(model.yearAt(m), y) + compare(model.indexOf(y, m), m) + compare(model.indexOf(new Date(y, m, 1)), m) + compare(model.monthAt(m), m) + } + + model.destroy() + } + + function test_invalid() { + var model = calendarModel.createObject(testCase) + verify(model) + + compare(model.indexOf(-1, -1), -1) + compare(model.indexOf(new Date(-1, -1, -1)), -1) + + model.destroy() + } + + function test_instantiator() { + var inst = instantiator.createObject(testCase) + verify(inst) + + compare(inst.count, 12) + for (var m = 0; m < inst.count; ++m) { + compare(inst.objectAt(m).month, m) + compare(inst.objectAt(m).year, 2016) + } + + inst.destroy() + } +} -- cgit v1.2.3 From 08af96d776e9df4b9db3d5c8ed6b895dee31dad9 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Tue, 23 Feb 2016 10:36:51 +0100 Subject: Doc: fix typos in Qt.labs.calendar Change-Id: I13329270602d5b6e59d92dc412d72b2c4714c6c2 Reviewed-by: Mitch Curtis --- src/imports/calendar/qquickcalendar.cpp | 2 +- src/imports/calendar/qquickmonthgrid.cpp | 2 +- src/imports/calendar/qquickweeknumbercolumn.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/imports/calendar/qquickcalendar.cpp b/src/imports/calendar/qquickcalendar.cpp index 5a14bb27..b64759f2 100644 --- a/src/imports/calendar/qquickcalendar.cpp +++ b/src/imports/calendar/qquickcalendar.cpp @@ -52,7 +52,7 @@ QT_BEGIN_NAMESPACE with the JavaScript Date type, that is used by the QML language. This means that \c Date::getMonth() can be assigned to MonthGrid::month and WeekNumberColumn::month as is. When dealing with dealing with month numbers - diretly, it is highly recommended to use the following enumeration values + directly, it is highly recommended to use the following enumeration values to avoid confusion. \value Calendar.January January (0) diff --git a/src/imports/calendar/qquickmonthgrid.cpp b/src/imports/calendar/qquickmonthgrid.cpp index fd2909f8..fde4a71d 100644 --- a/src/imports/calendar/qquickmonthgrid.cpp +++ b/src/imports/calendar/qquickmonthgrid.cpp @@ -187,7 +187,7 @@ QQuickMonthGrid::QQuickMonthGrid(QQuickItem *parent) : The Qt Labs Calendar module uses 0-based month numbers to be consistent with the JavaScript Date type, that is used by the QML language. This means that \c Date::getMonth() can be assigned to this property as is. - When dealing with dealing with month numbers diretly, it is highly + When dealing with dealing with month numbers directly, it is highly recommended to use the following enumeration values to avoid confusion. \value Calendar.January January (0) diff --git a/src/imports/calendar/qquickweeknumbercolumn.cpp b/src/imports/calendar/qquickweeknumbercolumn.cpp index 3e8f1a6b..f31497c6 100644 --- a/src/imports/calendar/qquickweeknumbercolumn.cpp +++ b/src/imports/calendar/qquickweeknumbercolumn.cpp @@ -115,7 +115,7 @@ QQuickWeekNumberColumn::QQuickWeekNumberColumn(QQuickItem *parent) : The Qt Labs Calendar module uses 0-based month numbers to be consistent with the JavaScript Date type, that is used by the QML language. This means that \c Date::getMonth() can be assigned to this property as is. - When dealing with dealing with month numbers diretly, it is highly + When dealing with dealing with month numbers directly, it is highly recommended to use the following enumeration values to avoid confusion. \value Calendar.January January (0) -- cgit v1.2.3 From 859663ae2971f3b6b99239dda24782eda2d88347 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Tue, 23 Feb 2016 10:54:29 +0100 Subject: QQuickMaterialProgressStrip: reset the transformation matrix The trasformation matrix for the indeterminate animation has to be reset when switching back to non-indeterminate mode, or else the indicator is translated to a wrong position. Change-Id: I8489a504f0b9626dbd0172ba0fba842f4528d027 Task-number: QTBUG-51312 Reviewed-by: Mitch Curtis --- src/imports/controls/material/qquickmaterialprogressstrip.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/imports/controls/material/qquickmaterialprogressstrip.cpp b/src/imports/controls/material/qquickmaterialprogressstrip.cpp index 3ac09e24..1d888183 100644 --- a/src/imports/controls/material/qquickmaterialprogressstrip.cpp +++ b/src/imports/controls/material/qquickmaterialprogressstrip.cpp @@ -225,6 +225,7 @@ QSGNode *QQuickMaterialProgressStrip::updatePaintNode(QSGNode *oldNode, UpdatePa transformNode->appendChildNode(rectNode); } Q_ASSERT(transformNode->type() == QSGNode::TransformNodeType); + static_cast(transformNode)->setMatrix(QMatrix4x4()); QSGRectangleNode *rectNode = static_cast(transformNode->firstChild()); Q_ASSERT(rectNode->type() == QSGNode::GeometryNodeType); -- cgit v1.2.3 From 8a4db8ec31426a3ca2697ec868f566ba43bbe597 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Mon, 22 Feb 2016 18:04:59 +0100 Subject: RangeSlider: forward focus to the handles The active focus ends up to RangeSlider when using forceActiveFocus() or QML KeyNavigation. We must forward the focus to one of the handles, because RangeSlider handles key events for the focused handle. If neither handle has active focus, RangeSlider doesn't do anything. Change-Id: I61a53d0c7203fad64306b54c1f96093bd9312416 Reviewed-by: Liang Qi --- src/templates/qquickrangeslider.cpp | 18 +++++++++++++++ src/templates/qquickrangeslider_p.h | 1 + tests/auto/controls/data/tst_rangeslider.qml | 34 ++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+) diff --git a/src/templates/qquickrangeslider.cpp b/src/templates/qquickrangeslider.cpp index 55b5bd8c..69529f65 100644 --- a/src/templates/qquickrangeslider.cpp +++ b/src/templates/qquickrangeslider.cpp @@ -691,6 +691,24 @@ void QQuickRangeSlider::setValues(qreal firstValue, qreal secondValue) secondPrivate->updatePosition(); } +void QQuickRangeSlider::focusInEvent(QFocusEvent *event) +{ + Q_D(QQuickRangeSlider); + QQuickControl::focusInEvent(event); + + // The active focus ends up to RangeSlider when using forceActiveFocus() + // or QML KeyNavigation. We must forward the focus to one of the handles, + // because RangeSlider handles key events for the focused handle. If + // neither handle has active focus, RangeSlider doesn't do anything. + QQuickItem *handle = nextItemInFocusChain(); + // QQuickItem::nextItemInFocusChain() only works as desired with + // Qt::TabFocusAllControls. otherwise pick the first handle + if (!handle || handle == this) + handle = d->first->handle(); + if (handle) + handle->forceActiveFocus(event->reason()); +} + void QQuickRangeSlider::keyPressEvent(QKeyEvent *event) { Q_D(QQuickRangeSlider); diff --git a/src/templates/qquickrangeslider_p.h b/src/templates/qquickrangeslider_p.h index 604666c8..4cf6ffd6 100644 --- a/src/templates/qquickrangeslider_p.h +++ b/src/templates/qquickrangeslider_p.h @@ -109,6 +109,7 @@ Q_SIGNALS: void trackChanged(); protected: + void focusInEvent(QFocusEvent *event) Q_DECL_OVERRIDE; void keyPressEvent(QKeyEvent *event) Q_DECL_OVERRIDE; void keyReleaseEvent(QKeyEvent *event) Q_DECL_OVERRIDE; void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE; diff --git a/tests/auto/controls/data/tst_rangeslider.qml b/tests/auto/controls/data/tst_rangeslider.qml index 97104856..cc12b851 100644 --- a/tests/auto/controls/data/tst_rangeslider.qml +++ b/tests/auto/controls/data/tst_rangeslider.qml @@ -655,4 +655,38 @@ TestCase { control.destroy() } + + function test_focus() { + var control = sliderComponent.createObject(testCase) + verify(control) + + waitForRendering(control) + compare(control.activeFocus, false) + + // focus is forwarded to the first handle + control.forceActiveFocus() + compare(control.activeFocus, true) + compare(control.first.handle.activeFocus, true) + compare(control.second.handle.activeFocus, false) + + // move focus to the second handle + control.second.handle.forceActiveFocus() + compare(control.activeFocus, true) + compare(control.first.handle.activeFocus, false) + compare(control.second.handle.activeFocus, true) + + // clear focus + control.focus = false + compare(control.activeFocus, false) + compare(control.first.handle.activeFocus, false) + compare(control.second.handle.activeFocus, false) + + // focus is forwarded to the second handle (where it previously was in the focus scope) + control.forceActiveFocus() + compare(control.activeFocus, true) + compare(control.first.handle.activeFocus, false) + compare(control.second.handle.activeFocus, true) + + control.destroy() + } } -- cgit v1.2.3 From 22624517ccbe780937ec2ba0b4264b71e38484bb Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Wed, 24 Feb 2016 15:13:37 +0100 Subject: Fix QQuickPopup to respect explicit size Don't resize the popup (clamping to its implicit size) unless the popup really has to be resized in order to fit the screen. Change-Id: I81201b77a1001ac22291ede1fc685f7208ff2916 Task-number: QTBUG-51322 Reviewed-by: Mitch Curtis --- src/templates/qquickpopup.cpp | 5 ++++- tests/auto/controls/data/tst_popup.qml | 29 +++++++++++++++++++++++++---- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/src/templates/qquickpopup.cpp b/src/templates/qquickpopup.cpp index 18a11208..0a9d9499 100644 --- a/src/templates/qquickpopup.cpp +++ b/src/templates/qquickpopup.cpp @@ -471,6 +471,7 @@ void QQuickPopupPositioner::repositionPopup() const qreal iw = m_popup->popupItem->implicitWidth(); const qreal ih = m_popup->popupItem->implicitHeight(); + bool adjusted = false; QRectF rect(m_x, m_y, iw > 0 ? iw : w, ih > 0 ? ih : h); if (m_parentItem) { rect = m_parentItem->mapRectToScene(rect); @@ -482,6 +483,7 @@ void QQuickPopupPositioner::repositionPopup() // if the popup doesn't fit inside the window, try flipping it around (below <-> above) const QRectF flipped = m_parentItem->mapRectToScene(QRectF(m_x, m_parentItem->height() - m_y - rect.height(), rect.width(), rect.height())); if (flipped.top() >= bounds.top() && flipped.bottom() < bounds.bottom()) { + adjusted = true; rect = flipped; } else if (ih > 0) { // neither the flipped around geometry fits inside the window, choose @@ -496,13 +498,14 @@ void QQuickPopupPositioner::repositionPopup() rect.setY(secondary.y()); rect.setHeight(secondary.height()); } + adjusted = true; } } } } m_popup->popupItem->setPosition(rect.topLeft()); - if (ih > 0) + if (adjusted && ih > 0) m_popup->popupItem->setHeight(rect.height()); } diff --git a/tests/auto/controls/data/tst_popup.qml b/tests/auto/controls/data/tst_popup.qml index 20859dac..7a34834e 100644 --- a/tests/auto/controls/data/tst_popup.qml +++ b/tests/auto/controls/data/tst_popup.qml @@ -52,10 +52,15 @@ TestCase { name: "Popup" Component { - id: popup + id: popupTemplate T.Popup { } } + Component { + id: popupControl + Popup { } + } + Component { id: rect Rectangle { } @@ -97,7 +102,7 @@ TestCase { } function test_padding() { - var control = popup.createObject(testCase) + var control = popupTemplate.createObject(testCase) verify(control) paddingSpy.target = control @@ -205,7 +210,7 @@ TestCase { } function test_availableSize() { - var control = popup.createObject(testCase) + var control = popupTemplate.createObject(testCase) verify(control) availableWidthSpy.target = control @@ -277,7 +282,7 @@ TestCase { } function test_background() { - var control = popup.createObject(testCase) + var control = popupTemplate.createObject(testCase) verify(control) control.background = rect.createObject(testCase) @@ -591,4 +596,20 @@ TestCase { control.destroy() } + + function test_size() { + var control = popupControl.createObject(testCase) + verify(control) + + control.width = 200 + control.height = 200 + + control.open() + waitForRendering(control.contentItem) + + compare(control.width, 200) + compare(control.height, 200) + + control.destroy() + } } -- cgit v1.2.3 From 609a658da0b9a73bbdcd9cfab8acd8f2b7329daf Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Wed, 24 Feb 2016 13:59:19 +0100 Subject: Implement accessibility support for Popup and Menu Change-Id: I55067bb1cb9888be8e0e991fb73c9365d93d04f4 Task-number: QTBUG-51316 Reviewed-by: Liang Qi --- src/templates/qquickcontrol.cpp | 13 +++++++++---- src/templates/qquickmenu.cpp | 7 +++++++ src/templates/qquickmenu_p.h | 5 +++++ src/templates/qquickpopup.cpp | 15 +++++++++++++++ src/templates/qquickpopup_p.h | 8 ++++++++ src/templates/qquickpopup_p_p.h | 4 ++++ tests/auto/accessibility/accessibility.pro | 2 +- tests/auto/accessibility/data/menu.qml | 12 ++++++++++++ tests/auto/accessibility/data/popup.qml | 12 ++++++++++++ tests/auto/accessibility/tst_accessibility.cpp | 20 ++++++++++++++++++-- 10 files changed, 91 insertions(+), 7 deletions(-) create mode 100644 tests/auto/accessibility/data/menu.qml create mode 100644 tests/auto/accessibility/data/popup.qml diff --git a/src/templates/qquickcontrol.cpp b/src/templates/qquickcontrol.cpp index 5636d84f..0e14bc37 100644 --- a/src/templates/qquickcontrol.cpp +++ b/src/templates/qquickcontrol.cpp @@ -199,10 +199,15 @@ void QQuickControl::accessibilityActiveChanged(bool active) return; d->accessibleAttached = qobject_cast(qmlAttachedPropertiesObject(this, true)); - if (d->accessibleAttached) - d->accessibleAttached->setRole(accessibleRole()); - else - qWarning() << "QQuickControl: " << this << " QQuickAccessibleAttached object creation failed!"; + + // QQuickControl relies on the existence of a QQuickAccessibleAttached object. + // However, qmlAttachedPropertiesObject(create=true) creates an instance only + // for items that have been created by a QML engine. Therefore we create the + // object by hand for items created in C++ (QQuickPopupItem, for instance). + if (!d->accessibleAttached) + d->accessibleAttached = new QQuickAccessibleAttached(this); + + d->accessibleAttached->setRole(accessibleRole()); } #endif diff --git a/src/templates/qquickmenu.cpp b/src/templates/qquickmenu.cpp index b61985d5..0ea0caba 100644 --- a/src/templates/qquickmenu.cpp +++ b/src/templates/qquickmenu.cpp @@ -518,6 +518,13 @@ bool QQuickMenu::eventFilter(QObject *object, QEvent *event) return QQuickPopup::eventFilter(object, event); } +#ifndef QT_NO_ACCESSIBILITY +QAccessible::Role QQuickMenu::accessibleRole() const +{ + return QAccessible::PopupMenu; +} +#endif // QT_NO_ACCESSIBILITY + QT_END_NAMESPACE #include "moc_qquickmenu_p.cpp" diff --git a/src/templates/qquickmenu_p.h b/src/templates/qquickmenu_p.h index 065ee1d7..b70ca49f 100644 --- a/src/templates/qquickmenu_p.h +++ b/src/templates/qquickmenu_p.h @@ -89,6 +89,11 @@ protected: Q_SIGNALS: void titleChanged(); +protected: +#ifndef QT_NO_ACCESSIBILITY + QAccessible::Role accessibleRole() const Q_DECL_OVERRIDE; +#endif // QT_NO_ACCESSIBILITY + private: Q_DISABLE_COPY(QQuickMenu) Q_DECLARE_PRIVATE(QQuickMenu) diff --git a/src/templates/qquickpopup.cpp b/src/templates/qquickpopup.cpp index 0a9d9499..7ac0369f 100644 --- a/src/templates/qquickpopup.cpp +++ b/src/templates/qquickpopup.cpp @@ -367,6 +367,14 @@ void QQuickPopupItem::paddingChange(const QMarginsF &newPadding, const QMarginsF d->popup->paddingChange(newPadding, oldPadding); } +#ifndef QT_NO_ACCESSIBILITY +QAccessible::Role QQuickPopupItem::accessibleRole() const +{ + Q_D(const QQuickPopupItem); + return d->popup->accessibleRole(); +} +#endif // QT_NO_ACCESSIBILITY + QQuickPopupPositioner::QQuickPopupPositioner(QQuickPopupPrivate *popup) : m_x(0), m_y(0), @@ -1648,6 +1656,13 @@ void QQuickPopup::paddingChange(const QMarginsF &newPadding, const QMarginsF &ol emit availableHeightChanged(); } +#ifndef QT_NO_ACCESSIBILITY +QAccessible::Role QQuickPopup::accessibleRole() const +{ + return QAccessible::LayeredPane; +} +#endif // QT_NO_ACCESSIBILITY + QT_END_NAMESPACE #include "moc_qquickpopup_p.cpp" diff --git a/src/templates/qquickpopup_p.h b/src/templates/qquickpopup_p.h index eb52882c..b818ea7f 100644 --- a/src/templates/qquickpopup_p.h +++ b/src/templates/qquickpopup_p.h @@ -56,6 +56,10 @@ #include #include +#ifndef QT_NO_ACCESSIBILITY +#include +#endif + QT_BEGIN_NAMESPACE class QQuickItem; @@ -317,6 +321,10 @@ protected: virtual void marginsChange(const QMarginsF &newMargins, const QMarginsF &oldMargins); virtual void paddingChange(const QMarginsF &newPadding, const QMarginsF &oldPadding); +#ifndef QT_NO_ACCESSIBILITY + virtual QAccessible::Role accessibleRole() const; +#endif + private: Q_DISABLE_COPY(QQuickPopup) Q_DECLARE_PRIVATE(QQuickPopup) diff --git a/src/templates/qquickpopup_p_p.h b/src/templates/qquickpopup_p_p.h index 45dd7fd9..017949cd 100644 --- a/src/templates/qquickpopup_p_p.h +++ b/src/templates/qquickpopup_p_p.h @@ -108,6 +108,10 @@ protected: void itemChange(ItemChange change, const ItemChangeData &data) Q_DECL_OVERRIDE; void paddingChange(const QMarginsF &newPadding, const QMarginsF &oldPadding) Q_DECL_OVERRIDE; +#ifndef QT_NO_ACCESSIBILITY + QAccessible::Role accessibleRole() const Q_DECL_OVERRIDE; +#endif + private: Q_DECLARE_PRIVATE(QQuickPopupItem) }; diff --git a/tests/auto/accessibility/accessibility.pro b/tests/auto/accessibility/accessibility.pro index c57eba11..ca751265 100644 --- a/tests/auto/accessibility/accessibility.pro +++ b/tests/auto/accessibility/accessibility.pro @@ -4,7 +4,7 @@ SOURCES += tst_accessibility.cpp osx:CONFIG -= app_bundle -QT += core-private gui-private qml-private quick-private testlib +QT += core-private gui-private qml-private quick-private labstemplates-private testlib include (../shared/util.pri) diff --git a/tests/auto/accessibility/data/menu.qml b/tests/auto/accessibility/data/menu.qml new file mode 100644 index 00000000..8903bd0b --- /dev/null +++ b/tests/auto/accessibility/data/menu.qml @@ -0,0 +1,12 @@ +import QtQuick 2.5 +import QtQuick.Window 2.2 +import Qt.labs.controls 1.0 + +Window { + visible: true + + Menu { + id: menu + objectName: "menu" + } +} diff --git a/tests/auto/accessibility/data/popup.qml b/tests/auto/accessibility/data/popup.qml new file mode 100644 index 00000000..e95ef2b7 --- /dev/null +++ b/tests/auto/accessibility/data/popup.qml @@ -0,0 +1,12 @@ +import QtQuick 2.5 +import QtQuick.Window 2.2 +import Qt.labs.controls 1.0 + +Window { + visible: true + + Popup { + id: popup + objectName: "popup" + } +} diff --git a/tests/auto/accessibility/tst_accessibility.cpp b/tests/auto/accessibility/tst_accessibility.cpp index 16a138b5..8c05e2f2 100644 --- a/tests/auto/accessibility/tst_accessibility.cpp +++ b/tests/auto/accessibility/tst_accessibility.cpp @@ -41,6 +41,7 @@ #include #include #include +#include #include "../shared/util.h" #include "../shared/visualtestutil.h" @@ -75,7 +76,9 @@ void tst_accessibility::a11y_data() // Frame // GroupBox QTest::newRow("Label") << "label" << 0x00000029 << "Label"; //QAccessible::StaticText + QTest::newRow("Menu") << "menu" << 0x0000000B << ""; //QAccessible::PopupMenu QTest::newRow("PageIndicator") << "pageindicator" << 0x00000027 << ""; //QAccessible::Indicator + QTest::newRow("Popup") << "popup" << 0x00000080 << ""; //QAccessible::LayeredPane QTest::newRow("ProgressBar") << "progressbar" << 0x00000030 << ""; //QAccessible::ProgressBar QTest::newRow("RadioButton") << "radiobutton" << 0x0000002D << "RadioButton"; //QAccessible::RadioButton QTest::newRow("RangeSlider") << "rangeslider" << 0x00000033 << ""; //QAccessible::Slider @@ -102,6 +105,14 @@ void tst_accessibility::a11y_data() QTest::newRow("WeekNumberColumn") << "weeknumbercolumn" << 0x0 << "WeekNumberColumn"; //QAccessible::NoRole } +static QQuickAccessibleAttached *accessibleAttached(QQuickItem *item) +{ + QQuickAccessibleAttached *acc = qobject_cast(qmlAttachedPropertiesObject(item, false)); + if (!acc) + acc = item->findChild(); + return acc; +} + void tst_accessibility::a11y() { QFETCH(QString, name); @@ -128,10 +139,15 @@ void tst_accessibility::a11y() QVERIFY(QTest::qWaitForWindowActive(window)); QQuickItem *item = findItem(window->contentItem(), name); + if (!item) { + QQuickPopup *popup = window->contentItem()->findChild(name); + if (popup) + item = popup->popupItem(); + } QVERIFY(item); #ifndef QT_NO_ACCESSIBILITY - QQuickAccessibleAttached *acc = qobject_cast(qmlAttachedPropertiesObject(item, false)); + QQuickAccessibleAttached *acc = accessibleAttached(item); if (name != QLatin1Literal("dayofweekrow") && name != QLatin1Literal("monthgrid") && name != QLatin1Literal("weeknumbercolumn")) { @@ -140,7 +156,7 @@ void tst_accessibility::a11y() } else { QVERIFY(!acc); QAccessible::setActive(true); - acc = qobject_cast(qmlAttachedPropertiesObject(item, false)); + acc = accessibleAttached(item); } } QVERIFY(acc); -- cgit v1.2.3 From cf81228a0537846556341779728752a771422544 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Thu, 25 Feb 2016 17:44:58 +0100 Subject: Exclude designer support on iOS Causing build problems due to RCC'ing 'designer/images/*.png' Change-Id: I4d97d8514fa38e5d78b8a6b1b6647e3834c864d7 Reviewed-by: J-P Nurmi --- src/imports/controls/controls.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/imports/controls/controls.pro b/src/imports/controls/controls.pro index 30f8e223..b5c258eb 100644 --- a/src/imports/controls/controls.pro +++ b/src/imports/controls/controls.pro @@ -25,7 +25,7 @@ RESOURCES += \ $$PWD/qtlabscontrolsplugin.qrc include(controls.pri) -include(designer/designer.pri) +!ios: include(designer/designer.pri) CONFIG += no_cxx_module load(qml_plugin) -- cgit v1.2.3 From db5780507733ef803e963dcef0b5260c4b94acfa Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Thu, 25 Feb 2016 17:46:30 +0100 Subject: QQuickPopup: fix uninitialized variable Change-Id: I339fdb284d65859b5df3a120fc806beaf950031b Reviewed-by: J-P Nurmi --- src/templates/qquickpopup.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/templates/qquickpopup.cpp b/src/templates/qquickpopup.cpp index 7ac0369f..f9cf2f51 100644 --- a/src/templates/qquickpopup.cpp +++ b/src/templates/qquickpopup.cpp @@ -105,6 +105,7 @@ QQuickPopupPrivate::QQuickPopupPrivate() : QObjectPrivate() , focus(false) , modal(false) + , complete(false) , hasTopMargin(false) , hasLeftMargin(false) , hasRightMargin(false) -- cgit v1.2.3